;--------------------------------------------------------
; File Created by SDCC : free open source ANSI-C Compiler
; Version 2.7.0 #4818 (May 31 2007)
; This file generated Mon Apr 30 18:27:26 2012
;--------------------------------------------------------
	.module cUDP
	.optsdcc -mmcs51 --model-large
	
;--------------------------------------------------------
; Public variables in this module
;--------------------------------------------------------
	.globl _IRCON2_P2IF
	.globl _IRCON2_UTX0IF
	.globl _IRCON2_UTX1IF
	.globl _IRCON2_P1IF
	.globl _IRCON2_WDTIF
	.globl _CY
	.globl _AC
	.globl _F0
	.globl _RS1
	.globl _RS0
	.globl _OV
	.globl _F1
	.globl _P
	.globl _IRCON_DMAIF
	.globl _IRCON_T1IF
	.globl _IRCON_T2IF
	.globl _IRCON_T3IF
	.globl _IRCON_T4IF
	.globl _IRCON_P0IF
	.globl _IRCON_STIF
	.globl _IEN1_DMAIE
	.globl _IEN1_T1IE
	.globl _IEN1_T2IE
	.globl _IEN1_T3IE
	.globl _IEN1_T4IE
	.globl _IEN1_P0IE
	.globl _IEN0_RFERRIE
	.globl _IEN0_ADCIE
	.globl _IEN0_URX0IE
	.globl _IEN0_URX1IE
	.globl _IEN0_ENCIE
	.globl _IEN0_STIE
	.globl _IEN0_EA
	.globl _EA
	.globl _P2_4
	.globl _P2_3
	.globl _P2_2
	.globl _P2_1
	.globl _P2_0
	.globl _S0CON_ENCIF_0
	.globl _S0CON_ENCIF_1
	.globl _P1_7
	.globl _P1_6
	.globl _P1_5
	.globl _P1_4
	.globl _P1_3
	.globl _P1_2
	.globl _P1_1
	.globl _P1_0
	.globl _TCON_IT0
	.globl _TCON_RFERRIF
	.globl _TCON_IT1
	.globl _TCON_URX0IF
	.globl _TCON_ADCIF
	.globl _TCON_URX1IF
	.globl _P0_0
	.globl _P0_1
	.globl _P0_2
	.globl _P0_3
	.globl _P0_4
	.globl _P0_5
	.globl _P0_6
	.globl _P0_7
	.globl _P2DIR
	.globl _P1DIR
	.globl _P0DIR
	.globl _U1GCR
	.globl _U1UCR
	.globl _U1BAUD
	.globl _U1BUF
	.globl _U1CSR
	.globl _P2INP
	.globl _P1INP
	.globl _P2SEL
	.globl _P1SEL
	.globl _P0SEL
	.globl _ADCCFG
	.globl _PERCFG
	.globl _B
	.globl _T4CC1
	.globl _T4CCTL1
	.globl _T4CC0
	.globl _T4CCTL0
	.globl _T4CTL
	.globl _T4CNT
	.globl _RFIF
	.globl _IRCON2
	.globl _T1CCTL2
	.globl _T1CCTL1
	.globl _T1CCTL0
	.globl _T1CTL
	.globl _T1CNTH
	.globl _T1CNTL
	.globl _RFST
	.globl _ACC
	.globl _T1CC2H
	.globl _T1CC2L
	.globl _T1CC1H
	.globl _T1CC1L
	.globl _T1CC0H
	.globl _T1CC0L
	.globl _RFD
	.globl _TIMIF
	.globl _DMAREQ
	.globl _DMAARM
	.globl _DMA0CFGH
	.globl _DMA0CFGL
	.globl _DMA1CFGH
	.globl _DMA1CFGL
	.globl _DMAIRQ
	.globl _PSW
	.globl _T3CC1
	.globl _T3CCTL1
	.globl _T3CC0
	.globl _T3CCTL0
	.globl _T3CTL
	.globl _T3CNT
	.globl _WDCTL
	.globl _T2CON
	.globl _MEMCTR
	.globl _CLKCON
	.globl _U0GCR
	.globl _U0UCR
	.globl _T2CNF
	.globl _U0BAUD
	.globl _U0BUF
	.globl _IRCON
	.globl _SLEEP
	.globl _RNDH
	.globl _RNDL
	.globl _ADCH
	.globl _ADCL
	.globl _IP1
	.globl _IEN1
	.globl _RCCTL
	.globl _ADCCON3
	.globl _ADCCON2
	.globl _ADCCON1
	.globl _ENCCS
	.globl _ENCDO
	.globl _ENCDI
	.globl _FWDATA
	.globl _FCTL
	.globl _FADDRH
	.globl _FADDRL
	.globl _FWT
	.globl _IP0
	.globl _IEN0
	.globl _IE
	.globl _T2THD
	.globl _T2TLD
	.globl _T2CAPHPH
	.globl _T2CAPLPL
	.globl _T2OF2
	.globl _T2OF1
	.globl _T2OF0
	.globl _P2
	.globl _T2PEROF2
	.globl _T2PEROF1
	.globl _T2PEROF0
	.globl _S1CON
	.globl _IEN2
	.globl _HSRC
	.globl _S0CON
	.globl _ST2
	.globl _ST1
	.globl _ST0
	.globl _T2CMP
	.globl __XPAGE
	.globl _DPS
	.globl _RFIM
	.globl _P1
	.globl _P0INP
	.globl _P1IEN
	.globl _PICTL
	.globl _P2IFG
	.globl _P1IFG
	.globl _P0IFG
	.globl _TCON
	.globl _PCON
	.globl _U0CSR
	.globl _DPH1
	.globl _DPL1
	.globl _DPH0
	.globl _DPL0
	.globl _SP
	.globl _P0
	.globl _use_compress
	.globl _RFD_SHADOW
	.globl _RFSTATUS
	.globl _CHIPID
	.globl _CHVER
	.globl _FSMTC1
	.globl _RXFIFOCNT
	.globl _IOCFG3
	.globl _IOCFG2
	.globl _IOCFG1
	.globl _IOCFG0
	.globl _SHORTADDRL
	.globl _SHORTADDRH
	.globl _PANIDL
	.globl _PANIDH
	.globl _IEEE_ADDR7
	.globl _IEEE_ADDR6
	.globl _IEEE_ADDR5
	.globl _IEEE_ADDR4
	.globl _IEEE_ADDR3
	.globl _IEEE_ADDR2
	.globl _IEEE_ADDR1
	.globl _IEEE_ADDR0
	.globl _DACTSTL
	.globl _DACTSTH
	.globl _ADCTSTL
	.globl _ADCTSTH
	.globl _FSMSTATE
	.globl _AGCCTRLL
	.globl _AGCCTRLH
	.globl _MANORL
	.globl _MANORH
	.globl _MANANDL
	.globl _MANANDH
	.globl _FSMTCL
	.globl _FSMTCH
	.globl _RFPWR
	.globl _CSPT
	.globl _CSPCTRL
	.globl _CSPZ
	.globl _CSPY
	.globl _CSPX
	.globl _FSCTRLL
	.globl _FSCTRLH
	.globl _RXCTRL1L
	.globl _RXCTRL1H
	.globl _RXCTRL0L
	.globl _RXCTRL0H
	.globl _TXCTRLL
	.globl _TXCTRLH
	.globl _SYNCWORDL
	.globl _SYNCWORDH
	.globl _RSSIL
	.globl _RSSIH
	.globl _MDMCTRL1L
	.globl _MDMCTRL1H
	.globl _MDMCTRL0L
	.globl _MDMCTRL0H
	.globl _cudp_init
	.globl _cudp_compress_mode
	.globl _cudp_handle
	.globl _cudp_check
;--------------------------------------------------------
; special function registers
;--------------------------------------------------------
	.area RSEG    (DATA)
_P0	=	0x0080
_SP	=	0x0081
_DPL0	=	0x0082
_DPH0	=	0x0083
_DPL1	=	0x0084
_DPH1	=	0x0085
_U0CSR	=	0x0086
_PCON	=	0x0087
_TCON	=	0x0088
_P0IFG	=	0x0089
_P1IFG	=	0x008a
_P2IFG	=	0x008b
_PICTL	=	0x008c
_P1IEN	=	0x008d
_P0INP	=	0x008f
_P1	=	0x0090
_RFIM	=	0x0091
_DPS	=	0x0092
__XPAGE	=	0x0093
_T2CMP	=	0x0094
_ST0	=	0x0095
_ST1	=	0x0096
_ST2	=	0x0097
_S0CON	=	0x0098
_HSRC	=	0x0099
_IEN2	=	0x009a
_S1CON	=	0x009b
_T2PEROF0	=	0x009c
_T2PEROF1	=	0x009d
_T2PEROF2	=	0x009e
_P2	=	0x00a0
_T2OF0	=	0x00a1
_T2OF1	=	0x00a2
_T2OF2	=	0x00a3
_T2CAPLPL	=	0x00a4
_T2CAPHPH	=	0x00a5
_T2TLD	=	0x00a6
_T2THD	=	0x00a7
_IE	=	0x00a8
_IEN0	=	0x00a8
_IP0	=	0x00a9
_FWT	=	0x00ab
_FADDRL	=	0x00ac
_FADDRH	=	0x00ad
_FCTL	=	0x00ae
_FWDATA	=	0x00af
_ENCDI	=	0x00b1
_ENCDO	=	0x00b2
_ENCCS	=	0x00b3
_ADCCON1	=	0x00b4
_ADCCON2	=	0x00b5
_ADCCON3	=	0x00b6
_RCCTL	=	0x00b7
_IEN1	=	0x00b8
_IP1	=	0x00b9
_ADCL	=	0x00ba
_ADCH	=	0x00bb
_RNDL	=	0x00bc
_RNDH	=	0x00bd
_SLEEP	=	0x00be
_IRCON	=	0x00c0
_U0BUF	=	0x00c1
_U0BAUD	=	0x00c2
_T2CNF	=	0x00c3
_U0UCR	=	0x00c4
_U0GCR	=	0x00c5
_CLKCON	=	0x00c6
_MEMCTR	=	0x00c7
_T2CON	=	0x00c8
_WDCTL	=	0x00c9
_T3CNT	=	0x00ca
_T3CTL	=	0x00cb
_T3CCTL0	=	0x00cc
_T3CC0	=	0x00cd
_T3CCTL1	=	0x00ce
_T3CC1	=	0x00cf
_PSW	=	0x00d0
_DMAIRQ	=	0x00d1
_DMA1CFGL	=	0x00d2
_DMA1CFGH	=	0x00d3
_DMA0CFGL	=	0x00d4
_DMA0CFGH	=	0x00d5
_DMAARM	=	0x00d6
_DMAREQ	=	0x00d7
_TIMIF	=	0x00d8
_RFD	=	0x00d9
_T1CC0L	=	0x00da
_T1CC0H	=	0x00db
_T1CC1L	=	0x00dc
_T1CC1H	=	0x00dd
_T1CC2L	=	0x00de
_T1CC2H	=	0x00df
_ACC	=	0x00e0
_RFST	=	0x00e1
_T1CNTL	=	0x00e2
_T1CNTH	=	0x00e3
_T1CTL	=	0x00e4
_T1CCTL0	=	0x00e5
_T1CCTL1	=	0x00e6
_T1CCTL2	=	0x00e7
_IRCON2	=	0x00e8
_RFIF	=	0x00e9
_T4CNT	=	0x00ea
_T4CTL	=	0x00eb
_T4CCTL0	=	0x00ec
_T4CC0	=	0x00ed
_T4CCTL1	=	0x00ee
_T4CC1	=	0x00ef
_B	=	0x00f0
_PERCFG	=	0x00f1
_ADCCFG	=	0x00f2
_P0SEL	=	0x00f3
_P1SEL	=	0x00f4
_P2SEL	=	0x00f5
_P1INP	=	0x00f6
_P2INP	=	0x00f7
_U1CSR	=	0x00f8
_U1BUF	=	0x00f9
_U1BAUD	=	0x00fa
_U1UCR	=	0x00fb
_U1GCR	=	0x00fc
_P0DIR	=	0x00fd
_P1DIR	=	0x00fe
_P2DIR	=	0x00ff
;--------------------------------------------------------
; special function bits
;--------------------------------------------------------
	.area RSEG    (DATA)
_P0_7	=	0x0087
_P0_6	=	0x0086
_P0_5	=	0x0085
_P0_4	=	0x0084
_P0_3	=	0x0083
_P0_2	=	0x0082
_P0_1	=	0x0081
_P0_0	=	0x0080
_TCON_URX1IF	=	0x008f
_TCON_ADCIF	=	0x008d
_TCON_URX0IF	=	0x008b
_TCON_IT1	=	0x008a
_TCON_RFERRIF	=	0x0089
_TCON_IT0	=	0x0088
_P1_0	=	0x0090
_P1_1	=	0x0091
_P1_2	=	0x0092
_P1_3	=	0x0093
_P1_4	=	0x0094
_P1_5	=	0x0095
_P1_6	=	0x0096
_P1_7	=	0x0097
_S0CON_ENCIF_1	=	0x0099
_S0CON_ENCIF_0	=	0x0098
_P2_0	=	0x00a0
_P2_1	=	0x00a1
_P2_2	=	0x00a2
_P2_3	=	0x00a3
_P2_4	=	0x00a4
_EA	=	0x00af
_IEN0_EA	=	0x00af
_IEN0_STIE	=	0x00ad
_IEN0_ENCIE	=	0x00ac
_IEN0_URX1IE	=	0x00ab
_IEN0_URX0IE	=	0x00aa
_IEN0_ADCIE	=	0x00a9
_IEN0_RFERRIE	=	0x00a8
_IEN1_P0IE	=	0x00bd
_IEN1_T4IE	=	0x00bc
_IEN1_T3IE	=	0x00bb
_IEN1_T2IE	=	0x00ba
_IEN1_T1IE	=	0x00b9
_IEN1_DMAIE	=	0x00b8
_IRCON_STIF	=	0x00c7
_IRCON_P0IF	=	0x00c5
_IRCON_T4IF	=	0x00c4
_IRCON_T3IF	=	0x00c3
_IRCON_T2IF	=	0x00c2
_IRCON_T1IF	=	0x00c1
_IRCON_DMAIF	=	0x00c0
_P	=	0x00d0
_F1	=	0x00d1
_OV	=	0x00d2
_RS0	=	0x00d3
_RS1	=	0x00d4
_F0	=	0x00d5
_AC	=	0x00d6
_CY	=	0x00d7
_IRCON2_WDTIF	=	0x00ec
_IRCON2_P1IF	=	0x00eb
_IRCON2_UTX1IF	=	0x00ea
_IRCON2_UTX0IF	=	0x00e9
_IRCON2_P2IF	=	0x00e8
;--------------------------------------------------------
; overlayable register banks
;--------------------------------------------------------
	.area REG_BANK_0	(REL,OVR,DATA)
	.ds 8
;--------------------------------------------------------
; internal ram data
;--------------------------------------------------------
	.area DSEG    (DATA)
;--------------------------------------------------------
; overlayable items in internal ram 
;--------------------------------------------------------
	.area OSEG    (OVR,DATA)
;--------------------------------------------------------
; indirectly addressable internal ram data
;--------------------------------------------------------
	.area ISEG    (DATA)
;--------------------------------------------------------
; absolute internal ram data
;--------------------------------------------------------
	.area IABS    (ABS,DATA)
	.area IABS    (ABS,DATA)
;--------------------------------------------------------
; bit data
;--------------------------------------------------------
	.area BSEG    (BIT)
;--------------------------------------------------------
; paged external ram data
;--------------------------------------------------------
	.area PSEG    (PAG,XDATA)
;--------------------------------------------------------
; external ram data
;--------------------------------------------------------
	.area XSEG    (XDATA)
_MDMCTRL0H	=	0xdf02
_MDMCTRL0L	=	0xdf03
_MDMCTRL1H	=	0xdf04
_MDMCTRL1L	=	0xdf05
_RSSIH	=	0xdf06
_RSSIL	=	0xdf07
_SYNCWORDH	=	0xdf08
_SYNCWORDL	=	0xdf09
_TXCTRLH	=	0xdf0a
_TXCTRLL	=	0xdf0b
_RXCTRL0H	=	0xdf0c
_RXCTRL0L	=	0xdf0d
_RXCTRL1H	=	0xdf0e
_RXCTRL1L	=	0xdf0f
_FSCTRLH	=	0xdf10
_FSCTRLL	=	0xdf11
_CSPX	=	0xdf12
_CSPY	=	0xdf13
_CSPZ	=	0xdf14
_CSPCTRL	=	0xdf15
_CSPT	=	0xdf16
_RFPWR	=	0xdf17
_FSMTCH	=	0xdf20
_FSMTCL	=	0xdf21
_MANANDH	=	0xdf22
_MANANDL	=	0xdf23
_MANORH	=	0xdf24
_MANORL	=	0xdf25
_AGCCTRLH	=	0xdf26
_AGCCTRLL	=	0xdf27
_FSMSTATE	=	0xdf39
_ADCTSTH	=	0xdf3a
_ADCTSTL	=	0xdf3b
_DACTSTH	=	0xdf3c
_DACTSTL	=	0xdf3d
_IEEE_ADDR0	=	0xdf43
_IEEE_ADDR1	=	0xdf44
_IEEE_ADDR2	=	0xdf45
_IEEE_ADDR3	=	0xdf46
_IEEE_ADDR4	=	0xdf47
_IEEE_ADDR5	=	0xdf48
_IEEE_ADDR6	=	0xdf49
_IEEE_ADDR7	=	0xdf4a
_PANIDH	=	0xdf4b
_PANIDL	=	0xdf4c
_SHORTADDRH	=	0xdf4d
_SHORTADDRL	=	0xdf4e
_IOCFG0	=	0xdf4f
_IOCFG1	=	0xdf50
_IOCFG2	=	0xdf51
_IOCFG3	=	0xdf52
_RXFIFOCNT	=	0xdf53
_FSMTC1	=	0xdf54
_CHVER	=	0xdf60
_CHIPID	=	0xdf61
_RFSTATUS	=	0xdf62
_RFD_SHADOW	=	0xdfd9
;--------------------------------------------------------
; absolute external ram data
;--------------------------------------------------------
	.area XABS    (ABS,XDATA)
;--------------------------------------------------------
; external initialized ram data
;--------------------------------------------------------
	.area XISEG   (XDATA)
_use_compress::
	.ds 1
	.area HOME    (CODE)
	.area GSINIT0 (CODE)
	.area GSINIT1 (CODE)
	.area GSINIT2 (CODE)
	.area GSINIT3 (CODE)
	.area GSINIT4 (CODE)
	.area GSINIT5 (CODE)
	.area GSINIT  (CODE)
	.area GSFINAL (CODE)
	.area CSEG    (CODE)
;--------------------------------------------------------
; global & static initialisations
;--------------------------------------------------------
	.area HOME    (CODE)
	.area GSINIT  (CODE)
	.area GSFINAL (CODE)
	.area GSINIT  (CODE)
;--------------------------------------------------------
; Home
;--------------------------------------------------------
	.area HOME    (CODE)
	.area HOME    (CODE)
;--------------------------------------------------------
; code
;--------------------------------------------------------
	.area CSEG    (CODE)
;------------------------------------------------------------
;Allocation info for local variables in function 'cudp_init'
;------------------------------------------------------------
;buf                       Allocated to registers 
;------------------------------------------------------------
;	../../Common/modules/cUDP.c:104: portCHAR cudp_init( buffer_t *buf )
;	-----------------------------------------
;	 function cudp_init
;	-----------------------------------------
_cudp_init:
	ar2 = 0x02
	ar3 = 0x03
	ar4 = 0x04
	ar5 = 0x05
	ar6 = 0x06
	ar7 = 0x07
	ar0 = 0x00
	ar1 = 0x01
;	../../Common/modules/cUDP.c:107: return pdTRUE;
	mov	dpl,#0x01
	ret
;------------------------------------------------------------
;Allocation info for local variables in function 'cudp_compress_mode'
;------------------------------------------------------------
;mode                      Allocated to registers 
;------------------------------------------------------------
;	../../Common/modules/cUDP.c:110: void cudp_compress_mode( uint8_t mode )
;	-----------------------------------------
;	 function cudp_compress_mode
;	-----------------------------------------
_cudp_compress_mode:
	mov	a,dpl
	mov	dptr,#_use_compress
	movx	@dptr,a
;	../../Common/modules/cUDP.c:112: use_compress = mode;
	ret
;------------------------------------------------------------
;Allocation info for local variables in function 'cudp_handle'
;------------------------------------------------------------
;buf                       Allocated to stack - offset 1
;tmp_8                     Allocated to stack - offset 4
;dest_length               Allocated to registers r2 
;ind                       Allocated to stack - offset 5
;hc_udp                    Allocated to stack - offset 6
;i                         Allocated to stack - offset 7
;header_length             Allocated to registers 
;tmp                       Allocated to registers 
;dptr                      Allocated to stack - offset 8
;port                      Allocated to stack - offset 11
;data_length               Allocated to stack - offset 13
;length                    Allocated to stack - offset 15
;portfield                 Allocated to stack - offset 17
;sloc0                     Allocated to stack - offset 18
;sloc1                     Allocated to stack - offset 20
;sloc2                     Allocated to stack - offset 21
;sloc3                     Allocated to stack - offset 23
;sloc4                     Allocated to stack - offset 24
;sloc5                     Allocated to stack - offset 25
;sloc6                     Allocated to stack - offset 27
;sloc7                     Allocated to stack - offset 30
;sloc8                     Allocated to stack - offset 33
;sloc9                     Allocated to stack - offset 36
;sloc10                    Allocated to stack - offset 39
;------------------------------------------------------------
;	../../Common/modules/cUDP.c:122: portCHAR cudp_handle( buffer_t *buf )
;	-----------------------------------------
;	 function cudp_handle
;	-----------------------------------------
_cudp_handle:
	push	_bp
	mov	_bp,sp
	push	dpl
	push	dph
	push	b
	mov	a,sp
	add	a,#0x29
	mov	sp,a
;	../../Common/modules/cUDP.c:130: uint8_t portfield=0;
	mov	a,_bp
	add	a,#0x11
	mov	r0,a
	mov	@r0,#0x00
;	../../Common/modules/cUDP.c:137: switch(buf->dir)
	mov	r0,_bp
	inc	r0
	mov	a,#0x1F
	add	a,@r0
	mov	r6,a
	clr	a
	inc	r0
	addc	a,@r0
	mov	r7,a
	inc	r0
	mov	ar5,@r0
	mov	dpl,r6
	mov	dph,r7
	mov	b,r5
	lcall	__gptrget
	mov	r5,a
	cjne	r5,#0x00,00181$
	ljmp	00115$
00181$:
	cjne	r5,#0x01,00182$
	sjmp	00183$
00182$:
	ljmp	00147$
00183$:
;	../../Common/modules/cUDP.c:149: data_length = (buf->buf_end - buf->buf_ptr);
	mov	r0,_bp
	inc	r0
	mov	a,#0x22
	add	a,@r0
	mov	r5,a
	clr	a
	inc	r0
	addc	a,@r0
	mov	r6,a
	inc	r0
	mov	ar7,@r0
	mov	dpl,r5
	mov	dph,r6
	mov	b,r7
	lcall	__gptrget
	mov	r5,a
	inc	dptr
	lcall	__gptrget
	mov	r6,a
	mov	r0,_bp
	inc	r0
	mov	a,#0x20
	add	a,@r0
	mov	r7,a
	clr	a
	inc	r0
	addc	a,@r0
	mov	r2,a
	inc	r0
	mov	ar3,@r0
	mov	dpl,r7
	mov	dph,r2
	mov	b,r3
	lcall	__gptrget
	mov	r7,a
	inc	dptr
	lcall	__gptrget
	mov	r2,a
	mov	a,r5
	clr	c
	subb	a,r7
	mov	r5,a
	mov	a,r6
	subb	a,r2
	mov	r6,a
	mov	a,_bp
	add	a,#0x0d
	mov	r0,a
	mov	@r0,ar5
	inc	r0
	mov	@r0,ar6
;	../../Common/modules/cUDP.c:153: data_length +=8;
	mov	a,_bp
	add	a,#0x0d
	mov	r0,a
	mov	a,#0x08
	add	a,@r0
	mov	@r0,a
	clr	a
	inc	r0
	addc	a,@r0
	mov	@r0,a
;	../../Common/modules/cUDP.c:154: if(stack_buffer_headroom( buf,8)==pdFALSE)
	mov	a,#0x08
	push	acc
	clr	a
	push	acc
	mov	r0,_bp
	inc	r0
	mov	dpl,@r0
	inc	r0
	mov	dph,@r0
	inc	r0
	mov	b,@r0
	lcall	_stack_buffer_headroom
	mov	r4,dpl
	dec	sp
	dec	sp
	mov	a,r4
	jnz	00103$
;	../../Common/modules/cUDP.c:156: stack_buffer_free(buf);
	mov	r0,_bp
	inc	r0
	mov	dpl,@r0
	inc	r0
	mov	dph,@r0
	inc	r0
	mov	b,@r0
	lcall	_stack_buffer_free
;	../../Common/modules/cUDP.c:157: return pdTRUE;
	mov	dpl,#0x01
	ljmp	00152$
00103$:
;	../../Common/modules/cUDP.c:160: buf->buf_ptr -= 8; /* HC2, SPORT,DPORT and Check Sum */
	mov	r0,_bp
	inc	r0
	mov	a,#0x20
	add	a,@r0
	mov	r4,a
	clr	a
	inc	r0
	addc	a,@r0
	mov	r5,a
	inc	r0
	mov	ar6,@r0
	mov	dpl,r4
	mov	dph,r5
	mov	b,r6
	lcall	__gptrget
	mov	r7,a
	inc	dptr
	lcall	__gptrget
	mov	r2,a
	mov	a,_bp
	add	a,#0x12
	mov	r0,a
	mov	a,r7
	add	a,#0xf8
	mov	@r0,a
	mov	a,r2
	addc	a,#0xff
	inc	r0
	mov	@r0,a
	mov	dpl,r4
	mov	dph,r5
	mov	b,r6
	mov	a,_bp
	add	a,#0x12
	mov	r0,a
	mov	a,@r0
	lcall	__gptrput
	inc	dptr
	inc	r0
	mov	a,@r0
	lcall	__gptrput
;	../../Common/modules/cUDP.c:162: dptr = buf->buf + buf->buf_ptr;
	mov	r0,_bp
	inc	r0
	mov	a,#0x2C
	add	a,@r0
	mov	r3,a
	clr	a
	inc	r0
	addc	a,@r0
	mov	r2,a
	inc	r0
	mov	ar7,@r0
	mov	a,_bp
	add	a,#0x12
	mov	r0,a
	mov	a,@r0
	add	a,r3
	mov	r3,a
	inc	r0
	mov	a,@r0
	addc	a,r2
	mov	r2,a
	mov	a,_bp
	add	a,#0x08
	mov	r0,a
	mov	@r0,ar3
	inc	r0
	mov	@r0,ar2
	inc	r0
	mov	@r0,ar7
;	../../Common/modules/cUDP.c:164: *dptr++ = (buf->src_sa.port >> 8);		
	mov	r0,_bp
	inc	r0
	mov	a,#0x10
	add	a,@r0
	mov	r2,a
	clr	a
	inc	r0
	addc	a,@r0
	mov	r3,a
	inc	r0
	mov	ar7,@r0
	mov	a,#0x0B
	add	a,r2
	mov	r2,a
	clr	a
	addc	a,r3
	mov	r3,a
	mov	dpl,r2
	mov	dph,r3
	mov	b,r7
	mov	a,_bp
	add	a,#0x15
	mov	r0,a
	lcall	__gptrget
	mov	@r0,a
	inc	dptr
	lcall	__gptrget
	inc	r0
	mov	@r0,a
	mov	a,_bp
	add	a,#0x15
	mov	r0,a
	mov	a,_bp
	add	a,#0x14
	mov	r1,a
	inc	r0
	mov	a,@r0
	mov	@r1,a
	mov	a,_bp
	add	a,#0x08
	mov	r0,a
	mov	dpl,@r0
	inc	r0
	mov	dph,@r0
	inc	r0
	mov	b,@r0
	mov	a,_bp
	add	a,#0x14
	mov	r1,a
	mov	a,@r1
	lcall	__gptrput
	inc	dptr
	dec	r0
	dec	r0
	mov	@r0,dpl
	inc	r0
	mov	@r0,dph
;	../../Common/modules/cUDP.c:165: *dptr++ = (uint8_t) buf->src_sa.port;
	mov	a,_bp
	add	a,#0x15
	mov	r0,a
	mov	a,_bp
	add	a,#0x12
	mov	r1,a
	mov	a,@r0
	mov	@r1,a
	mov	a,_bp
	add	a,#0x08
	mov	r0,a
	mov	dpl,@r0
	inc	r0
	mov	dph,@r0
	inc	r0
	mov	b,@r0
	mov	a,_bp
	add	a,#0x12
	mov	r1,a
	mov	a,@r1
	lcall	__gptrput
	inc	dptr
	dec	r0
	dec	r0
	mov	@r0,dpl
	inc	r0
	mov	@r0,dph
;	../../Common/modules/cUDP.c:166: *dptr++ = (buf->dst_sa.port >> 8);		
	mov	r0,_bp
	inc	r0
	mov	a,#0x03
	add	a,@r0
	mov	r7,a
	clr	a
	inc	r0
	addc	a,@r0
	mov	r2,a
	inc	r0
	mov	ar3,@r0
	mov	a,#0x0B
	add	a,r7
	mov	r7,a
	clr	a
	addc	a,r2
	mov	r2,a
	mov	dpl,r7
	mov	dph,r2
	mov	b,r3
	mov	a,_bp
	add	a,#0x19
	mov	r0,a
	lcall	__gptrget
	mov	@r0,a
	inc	dptr
	lcall	__gptrget
	inc	r0
	mov	@r0,a
	mov	a,_bp
	add	a,#0x19
	mov	r0,a
	mov	a,_bp
	add	a,#0x18
	mov	r1,a
	inc	r0
	mov	a,@r0
	mov	@r1,a
	mov	a,_bp
	add	a,#0x08
	mov	r0,a
	mov	dpl,@r0
	inc	r0
	mov	dph,@r0
	inc	r0
	mov	b,@r0
	mov	a,_bp
	add	a,#0x18
	mov	r1,a
	mov	a,@r1
	lcall	__gptrput
	inc	dptr
	dec	r0
	dec	r0
	mov	@r0,dpl
	inc	r0
	mov	@r0,dph
;	../../Common/modules/cUDP.c:167: *dptr++ = (uint8_t)buf->dst_sa.port;
	mov	a,_bp
	add	a,#0x19
	mov	r0,a
	mov	a,_bp
	add	a,#0x17
	mov	r1,a
	mov	a,@r0
	mov	@r1,a
	mov	a,_bp
	add	a,#0x08
	mov	r0,a
	mov	dpl,@r0
	inc	r0
	mov	dph,@r0
	inc	r0
	mov	b,@r0
	mov	a,_bp
	add	a,#0x17
	mov	r1,a
	mov	a,@r1
	lcall	__gptrput
	inc	dptr
	dec	r0
	dec	r0
	mov	@r0,dpl
	inc	r0
	mov	@r0,dph
;	../../Common/modules/cUDP.c:168: *dptr++ = (data_length >> 8);	
	mov	a,_bp
	add	a,#0x0d
	mov	r0,a
	inc	r0
	mov	ar7,@r0
	mov	a,_bp
	add	a,#0x08
	mov	r0,a
	mov	dpl,@r0
	inc	r0
	mov	dph,@r0
	inc	r0
	mov	b,@r0
	mov	a,r7
	lcall	__gptrput
	inc	dptr
	dec	r0
	dec	r0
	mov	@r0,dpl
	inc	r0
	mov	@r0,dph
;	../../Common/modules/cUDP.c:169: *dptr++ = (uint8_t) data_length;	
	mov	a,_bp
	add	a,#0x0d
	mov	r0,a
	mov	ar7,@r0
	mov	a,_bp
	add	a,#0x08
	mov	r0,a
	mov	dpl,@r0
	inc	r0
	mov	dph,@r0
	inc	r0
	mov	b,@r0
	mov	a,r7
	lcall	__gptrput
	inc	dptr
	dec	r0
	dec	r0
	mov	@r0,dpl
	inc	r0
	mov	@r0,dph
;	../../Common/modules/cUDP.c:170: *dptr++ = 0x00;
	mov	a,_bp
	add	a,#0x08
	mov	r0,a
	mov	dpl,@r0
	inc	r0
	mov	dph,@r0
	inc	r0
	mov	b,@r0
	clr	a
	lcall	__gptrput
	inc	dptr
	dec	r0
	dec	r0
	mov	@r0,dpl
	inc	r0
	mov	@r0,dph
;	../../Common/modules/cUDP.c:171: *dptr++ = 0x00;
	mov	a,_bp
	add	a,#0x08
	mov	r0,a
	mov	dpl,@r0
	inc	r0
	mov	dph,@r0
	inc	r0
	mov	b,@r0
	clr	a
	lcall	__gptrput
	inc	dptr
	dec	r0
	dec	r0
	mov	@r0,dpl
	inc	r0
	mov	@r0,dph
;	../../Common/modules/cUDP.c:175: if( use_compress==0)
	mov	dptr,#_use_compress
	movx	a,@dptr
	mov	r7,a
	jnz	00105$
;	../../Common/modules/cUDP.c:177: dptr = buf->buf + (buf->buf_ptr + 6);
	push	ar7
	mov	r0,_bp
	inc	r0
	mov	a,_bp
	add	a,#0x1b
	mov	r1,a
	mov	a,#0x2C
	add	a,@r0
	mov	@r1,a
	clr	a
	inc	r0
	addc	a,@r0
	inc	r1
	mov	@r1,a
	inc	r0
	inc	r1
	mov	a,@r0
	mov	@r1,a
	mov	dpl,r4
	mov	dph,r5
	mov	b,r6
	lcall	__gptrget
	mov	r2,a
	inc	dptr
	lcall	__gptrget
	mov	r3,a
	mov	a,#0x06
	add	a,r2
	mov	r2,a
	clr	a
	addc	a,r3
	mov	r3,a
	mov	a,_bp
	add	a,#0x1b
	mov	r0,a
	mov	a,r2
	add	a,@r0
	mov	r2,a
	mov	a,r3
	inc	r0
	addc	a,@r0
	mov	r3,a
	inc	r0
	mov	ar7,@r0
	mov	a,_bp
	add	a,#0x08
	mov	r0,a
	mov	@r0,ar2
	inc	r0
	mov	@r0,ar3
	inc	r0
	mov	@r0,ar7
;	../../Common/modules/cUDP.c:471: return pdTRUE;
	pop	ar7
;	../../Common/modules/cUDP.c:177: dptr = buf->buf + (buf->buf_ptr + 6);
00105$:
;	../../Common/modules/cUDP.c:179: if ( use_compress )
	mov	a,r7
	jnz	00186$
	ljmp	00114$
00186$:
;	../../Common/modules/cUDP.c:181: portfield = 0;
	mov	a,_bp
	add	a,#0x11
	mov	r0,a
	mov	@r0,#0x00
;	../../Common/modules/cUDP.c:183: hc_udp=LENGTH_COMPRESSED;
	mov	a,_bp
	add	a,#0x06
	mov	r0,a
	mov	@r0,#0x04
;	../../Common/modules/cUDP.c:184: if(buf->src_sa.port > HC2_PORT_ENCODE && buf->dst_sa.port > HC2_PORT_ENCODE)
	mov	a,_bp
	add	a,#0x15
	mov	r0,a
	clr	c
	mov	a,#0xAF
	subb	a,@r0
	mov	a,#0xF0
	inc	r0
	subb	a,@r0
	jnc	00107$
	mov	a,_bp
	add	a,#0x19
	mov	r0,a
	clr	c
	mov	a,#0xAF
	subb	a,@r0
	mov	a,#0xF0
	inc	r0
	subb	a,@r0
	jnc	00107$
;	../../Common/modules/cUDP.c:187: portfield = (buf->src_sa.port - HC2_ENCODE_P_VALUE);
	mov	a,_bp
	add	a,#0x12
	mov	r0,a
	mov	a,_bp
	add	a,#0x11
	mov	r1,a
	mov	a,@r0
	add	a,#0x50
	mov	@r1,a
;	../../Common/modules/cUDP.c:189: hc_udp |= D_PORT_COMPRESSED;
	mov	a,_bp
	add	a,#0x06
	mov	r0,a
	mov	@r0,#0x07
;	../../Common/modules/cUDP.c:190: portfield |= ((buf->dst_sa.port - HC2_ENCODE_P_VALUE) << 4);
	mov	a,_bp
	add	a,#0x17
	mov	r0,a
	mov	a,@r0
	add	a,#0x50
	swap	a
	anl	a,#0xf0
	mov	r3,a
	mov	a,_bp
	add	a,#0x11
	mov	r0,a
	mov	a,r3
	orl	a,@r0
	mov	@r0,a
;	../../Common/modules/cUDP.c:191: tmp_8++;
	mov	a,_bp
	add	a,#0x04
	mov	r0,a
	mov	@r0,#0x03
	sjmp	00108$
00107$:
;	../../Common/modules/cUDP.c:195: tmp_8 +=4;
	mov	a,_bp
	add	a,#0x04
	mov	r0,a
	mov	@r0,#0x06
00108$:
;	../../Common/modules/cUDP.c:197: buf->buf_ptr +=(8 - tmp_8);
	mov	dpl,r4
	mov	dph,r5
	mov	b,r6
	mov	a,_bp
	add	a,#0x1b
	mov	r0,a
	lcall	__gptrget
	mov	@r0,a
	inc	dptr
	lcall	__gptrget
	inc	r0
	mov	@r0,a
	mov	a,_bp
	add	a,#0x04
	mov	r0,a
	mov	ar3,@r0
	mov	r2,#0x00
	mov	a,#0x08
	clr	c
	subb	a,r3
	mov	r3,a
	clr	a
	subb	a,r2
	mov	r2,a
	mov	a,_bp
	add	a,#0x1b
	mov	r0,a
	mov	a,r3
	add	a,@r0
	mov	r3,a
	mov	a,r2
	inc	r0
	addc	a,@r0
	mov	r2,a
	mov	dpl,r4
	mov	dph,r5
	mov	b,r6
	mov	a,r3
	lcall	__gptrput
	inc	dptr
	mov	a,r2
	lcall	__gptrput
;	../../Common/modules/cUDP.c:199: dptr = buf->buf + buf->buf_ptr;
	mov	r0,_bp
	inc	r0
	mov	a,#0x2C
	add	a,@r0
	mov	r4,a
	clr	a
	inc	r0
	addc	a,@r0
	mov	r5,a
	inc	r0
	mov	ar6,@r0
	mov	a,r3
	add	a,r4
	mov	r3,a
	mov	a,r2
	addc	a,r5
	mov	r2,a
	mov	ar7,r6
	mov	a,_bp
	add	a,#0x08
	mov	r0,a
	mov	@r0,ar3
	inc	r0
	mov	@r0,ar2
	inc	r0
	mov	@r0,ar7
;	../../Common/modules/cUDP.c:200: buf->options.lowpan_compressed = hc_udp;
	mov	r0,_bp
	inc	r0
	mov	a,#0x26
	add	a,@r0
	mov	r2,a
	clr	a
	inc	r0
	addc	a,@r0
	mov	r3,a
	inc	r0
	mov	ar4,@r0
	mov	a,#0x05
	add	a,r2
	mov	r2,a
	clr	a
	addc	a,r3
	mov	r3,a
	mov	dpl,r2
	mov	dph,r3
	mov	b,r4
	mov	a,_bp
	add	a,#0x06
	mov	r0,a
	mov	a,@r0
	lcall	__gptrput
;	../../Common/modules/cUDP.c:201: if(tmp_8 == 3)
	mov	a,_bp
	add	a,#0x04
	mov	r0,a
	cjne	@r0,#0x03,00111$
;	../../Common/modules/cUDP.c:203: *dptr++ = portfield;	/* Encoded Source and Destination-port*/
	mov	a,_bp
	add	a,#0x08
	mov	r0,a
	mov	dpl,@r0
	inc	r0
	mov	dph,@r0
	inc	r0
	mov	b,@r0
	mov	a,_bp
	add	a,#0x11
	mov	r1,a
	mov	a,@r1
	lcall	__gptrput
	inc	dptr
	dec	r0
	dec	r0
	mov	@r0,dpl
	inc	r0
	mov	@r0,dph
	sjmp	00114$
00111$:
;	../../Common/modules/cUDP.c:207: *dptr++ = (buf->src_sa.port >> 8);		
	mov	a,_bp
	add	a,#0x08
	mov	r0,a
	mov	dpl,@r0
	inc	r0
	mov	dph,@r0
	inc	r0
	mov	b,@r0
	mov	a,_bp
	add	a,#0x14
	mov	r1,a
	mov	a,@r1
	lcall	__gptrput
	inc	dptr
	dec	r0
	dec	r0
	mov	@r0,dpl
	inc	r0
	mov	@r0,dph
;	../../Common/modules/cUDP.c:208: *dptr++ = (uint8_t) buf->src_sa.port;
	mov	a,_bp
	add	a,#0x08
	mov	r0,a
	mov	dpl,@r0
	inc	r0
	mov	dph,@r0
	inc	r0
	mov	b,@r0
	mov	a,_bp
	add	a,#0x12
	mov	r1,a
	mov	a,@r1
	lcall	__gptrput
	inc	dptr
	dec	r0
	dec	r0
	mov	@r0,dpl
	inc	r0
	mov	@r0,dph
;	../../Common/modules/cUDP.c:209: *dptr++ = (buf->dst_sa.port >> 8);		
	mov	a,_bp
	add	a,#0x08
	mov	r0,a
	mov	dpl,@r0
	inc	r0
	mov	dph,@r0
	inc	r0
	mov	b,@r0
	mov	a,_bp
	add	a,#0x18
	mov	r1,a
	mov	a,@r1
	lcall	__gptrput
	inc	dptr
	dec	r0
	dec	r0
	mov	@r0,dpl
	inc	r0
	mov	@r0,dph
;	../../Common/modules/cUDP.c:210: *dptr++ = (uint8_t)buf->dst_sa.port;
	mov	a,_bp
	add	a,#0x08
	mov	r0,a
	mov	dpl,@r0
	inc	r0
	mov	dph,@r0
	inc	r0
	mov	b,@r0
	mov	a,_bp
	add	a,#0x17
	mov	r1,a
	mov	a,@r1
	lcall	__gptrput
	inc	dptr
	dec	r0
	dec	r0
	mov	@r0,dpl
	inc	r0
	mov	@r0,dph
00114$:
;	../../Common/modules/cUDP.c:218: *dptr++ = 0;		
	mov	a,_bp
	add	a,#0x08
	mov	r0,a
	mov	dpl,@r0
	inc	r0
	mov	dph,@r0
	inc	r0
	mov	b,@r0
	clr	a
	lcall	__gptrput
	inc	dptr
	dec	r0
	dec	r0
	mov	@r0,dpl
	inc	r0
	mov	@r0,dph
;	../../Common/modules/cUDP.c:219: *dptr++ = 0;		
	mov	a,_bp
	add	a,#0x08
	mov	r0,a
	mov	dpl,@r0
	inc	r0
	mov	dph,@r0
	inc	r0
	mov	b,@r0
	clr	a
	lcall	__gptrput
;	../../Common/modules/cUDP.c:222: buf->src_sa.addr_type = ADDR_NONE;
	mov	r0,_bp
	inc	r0
	mov	a,#0x10
	add	a,@r0
	mov	r2,a
	clr	a
	inc	r0
	addc	a,@r0
	mov	r3,a
	inc	r0
	mov	ar4,@r0
	mov	dpl,r2
	mov	dph,r3
	mov	b,r4
	clr	a
	lcall	__gptrput
;	../../Common/modules/cUDP.c:223: buf->from = MODULE_CUDP;
	mov	r0,_bp
	inc	r0
	mov	a,#0x1D
	add	a,@r0
	mov	r2,a
	clr	a
	inc	r0
	addc	a,@r0
	mov	r3,a
	inc	r0
	mov	ar4,@r0
	mov	dpl,r2
	mov	dph,r3
	mov	b,r4
	mov	a,#0x02
	lcall	__gptrput
;	../../Common/modules/cUDP.c:224: buf->to = MODULE_NONE;
	mov	r0,_bp
	inc	r0
	mov	a,#0x1E
	add	a,@r0
	mov	r2,a
	clr	a
	inc	r0
	addc	a,@r0
	mov	r3,a
	inc	r0
	mov	ar4,@r0
	mov	dpl,r2
	mov	dph,r3
	mov	b,r4
	clr	a
	lcall	__gptrput
;	../../Common/modules/cUDP.c:225: stack_buffer_push(buf);
	mov	r0,_bp
	inc	r0
	mov	dpl,@r0
	inc	r0
	mov	dph,@r0
	inc	r0
	mov	b,@r0
	lcall	_stack_buffer_push
;	../../Common/modules/cUDP.c:227: break;
	ljmp	00147$
;	../../Common/modules/cUDP.c:229: case BUFFER_UP:
00115$:
;	../../Common/modules/cUDP.c:231: data_length = (buf->buf_end - buf->buf_ptr);
	mov	r0,_bp
	inc	r0
	mov	a,#0x22
	add	a,@r0
	mov	r2,a
	clr	a
	inc	r0
	addc	a,@r0
	mov	r3,a
	inc	r0
	mov	ar4,@r0
	mov	dpl,r2
	mov	dph,r3
	mov	b,r4
	mov	a,_bp
	add	a,#0x19
	mov	r0,a
	lcall	__gptrget
	mov	@r0,a
	inc	dptr
	lcall	__gptrget
	inc	r0
	mov	@r0,a
	mov	r0,_bp
	inc	r0
	mov	a,#0x20
	add	a,@r0
	mov	r4,a
	clr	a
	inc	r0
	addc	a,@r0
	mov	r5,a
	inc	r0
	mov	ar6,@r0
	mov	dpl,r4
	mov	dph,r5
	mov	b,r6
	mov	a,_bp
	add	a,#0x1b
	mov	r0,a
	lcall	__gptrget
	mov	@r0,a
	inc	dptr
	lcall	__gptrget
	inc	r0
	mov	@r0,a
;	../../Common/modules/cUDP.c:232: length=0;
	mov	a,_bp
	add	a,#0x0f
	mov	r0,a
	clr	a
	mov	@r0,a
	inc	r0
	mov	@r0,a
;	../../Common/modules/cUDP.c:233: ind = buf->buf_ptr;
	mov	a,_bp
	add	a,#0x1b
	mov	r0,a
	mov	a,_bp
	add	a,#0x05
	mov	r1,a
	mov	a,@r0
	mov	@r1,a
;	../../Common/modules/cUDP.c:235: switch (buf->options.lowpan_compressed)
	mov	r0,_bp
	inc	r0
	mov	a,#0x26
	add	a,@r0
	mov	r2,a
	clr	a
	inc	r0
	addc	a,@r0
	mov	r7,a
	inc	r0
	mov	ar3,@r0
	mov	a,#0x05
	add	a,r2
	mov	r2,a
	clr	a
	addc	a,r7
	mov	r7,a
	mov	dpl,r2
	mov	dph,r7
	mov	b,r3
	lcall	__gptrget
	mov	r2,a
	jz	00116$
	cjne	r2,#0x04,00192$
	ljmp	00118$
00192$:
	cjne	r2,#0x07,00193$
	ljmp	00117$
00193$:
	ljmp	00119$
;	../../Common/modules/cUDP.c:237: case UNCOMPRESSED_HC_UDP:
00116$:
;	../../Common/modules/cUDP.c:239: port = buf->buf[ind++];
	push	ar4
	push	ar5
	push	ar6
	mov	r0,_bp
	inc	r0
	mov	a,#0x2C
	add	a,@r0
	mov	r2,a
	clr	a
	inc	r0
	addc	a,@r0
	mov	r3,a
	inc	r0
	mov	ar7,@r0
	mov	a,_bp
	add	a,#0x05
	mov	r0,a
	mov	ar4,@r0
	mov	a,_bp
	add	a,#0x05
	mov	r0,a
	inc	@r0
	mov	a,r4
	add	a,r2
	mov	r4,a
	clr	a
	addc	a,r3
	mov	r5,a
	mov	ar6,r7
	mov	dpl,r4
	mov	dph,r5
	mov	b,r6
	lcall	__gptrget
	mov	r4,a
	mov	a,_bp
	add	a,#0x0b
	mov	r0,a
	mov	@r0,ar4
	inc	r0
	mov	@r0,#0x00
;	../../Common/modules/cUDP.c:240: port <<= 8;
	mov	a,_bp
	add	a,#0x0b
	mov	r0,a
	mov	a,@r0
	inc	r0
	mov	@r0,a
	dec	r0
	mov	@r0,#0x00
;	../../Common/modules/cUDP.c:241: port += buf->buf[ind++];
	mov	a,_bp
	add	a,#0x05
	mov	r0,a
	mov	ar4,@r0
	mov	a,_bp
	add	a,#0x05
	mov	r0,a
	inc	@r0
	mov	a,r4
	add	a,r2
	mov	r4,a
	clr	a
	addc	a,r3
	mov	r5,a
	mov	ar6,r7
	mov	dpl,r4
	mov	dph,r5
	mov	b,r6
	lcall	__gptrget
	mov	r4,a
	mov	r5,#0x00
	mov	a,_bp
	add	a,#0x0b
	mov	r0,a
	mov	a,r4
	add	a,@r0
	mov	@r0,a
	mov	a,r5
	inc	r0
	addc	a,@r0
	mov	@r0,a
;	../../Common/modules/cUDP.c:242: buf->src_sa.port=port;
	mov	r0,_bp
	inc	r0
	mov	a,#0x10
	add	a,@r0
	mov	r4,a
	clr	a
	inc	r0
	addc	a,@r0
	mov	r5,a
	inc	r0
	mov	ar6,@r0
	mov	a,#0x0B
	add	a,r4
	mov	r4,a
	clr	a
	addc	a,r5
	mov	r5,a
	mov	dpl,r4
	mov	dph,r5
	mov	b,r6
	mov	a,_bp
	add	a,#0x0b
	mov	r0,a
	mov	a,@r0
	lcall	__gptrput
	inc	dptr
	inc	r0
	mov	a,@r0
	lcall	__gptrput
;	../../Common/modules/cUDP.c:244: port = buf->buf[ind++];
	mov	a,_bp
	add	a,#0x05
	mov	r0,a
	mov	ar4,@r0
	mov	a,_bp
	add	a,#0x05
	mov	r0,a
	inc	@r0
	mov	a,r4
	add	a,r2
	mov	r4,a
	clr	a
	addc	a,r3
	mov	r5,a
	mov	ar6,r7
	mov	dpl,r4
	mov	dph,r5
	mov	b,r6
	lcall	__gptrget
	mov	r4,a
	mov	a,_bp
	add	a,#0x0b
	mov	r0,a
	mov	@r0,ar4
	inc	r0
	mov	@r0,#0x00
;	../../Common/modules/cUDP.c:245: port <<= 8;
	mov	a,_bp
	add	a,#0x0b
	mov	r0,a
	mov	a,@r0
	inc	r0
	mov	@r0,a
	dec	r0
	mov	@r0,#0x00
;	../../Common/modules/cUDP.c:246: port += buf->buf[ind++];
	mov	a,_bp
	add	a,#0x05
	mov	r0,a
	mov	ar4,@r0
	mov	a,_bp
	add	a,#0x05
	mov	r0,a
	inc	@r0
	mov	a,r4
	add	a,r2
	mov	r4,a
	clr	a
	addc	a,r3
	mov	r5,a
	mov	ar6,r7
	mov	dpl,r4
	mov	dph,r5
	mov	b,r6
	lcall	__gptrget
	mov	r4,a
	mov	r5,#0x00
	mov	a,_bp
	add	a,#0x0b
	mov	r0,a
	mov	a,r4
	add	a,@r0
	mov	@r0,a
	mov	a,r5
	inc	r0
	addc	a,@r0
	mov	@r0,a
;	../../Common/modules/cUDP.c:247: buf->dst_sa.port=port;
	mov	r0,_bp
	inc	r0
	mov	a,#0x03
	add	a,@r0
	mov	r4,a
	clr	a
	inc	r0
	addc	a,@r0
	mov	r5,a
	inc	r0
	mov	ar6,@r0
	mov	a,#0x0B
	add	a,r4
	mov	r4,a
	clr	a
	addc	a,r5
	mov	r5,a
	mov	dpl,r4
	mov	dph,r5
	mov	b,r6
	mov	a,_bp
	add	a,#0x0b
	mov	r0,a
	mov	a,@r0
	lcall	__gptrput
	inc	dptr
	inc	r0
	mov	a,@r0
	lcall	__gptrput
;	../../Common/modules/cUDP.c:249: length = buf->buf[ind++];
	mov	a,_bp
	add	a,#0x05
	mov	r0,a
	mov	ar4,@r0
	mov	a,_bp
	add	a,#0x05
	mov	r0,a
	inc	@r0
	mov	a,r4
	add	a,r2
	mov	r4,a
	clr	a
	addc	a,r3
	mov	r5,a
	mov	ar6,r7
	mov	dpl,r4
	mov	dph,r5
	mov	b,r6
	lcall	__gptrget
	mov	r4,a
	mov	a,_bp
	add	a,#0x0f
	mov	r0,a
	mov	@r0,ar4
	inc	r0
	mov	@r0,#0x00
;	../../Common/modules/cUDP.c:250: length <<= 8;
	mov	a,_bp
	add	a,#0x0f
	mov	r0,a
	mov	a,@r0
	inc	r0
	mov	@r0,a
	dec	r0
	mov	@r0,#0x00
;	../../Common/modules/cUDP.c:251: length += buf->buf[ind++];
	mov	a,_bp
	add	a,#0x05
	mov	r0,a
	mov	ar4,@r0
	mov	a,_bp
	add	a,#0x05
	mov	r0,a
	inc	@r0
	mov	a,r4
	add	a,r2
	mov	r2,a
	clr	a
	addc	a,r3
	mov	r3,a
	mov	dpl,r2
	mov	dph,r3
	mov	b,r7
	lcall	__gptrget
	mov	r2,a
	mov	r3,#0x00
	mov	a,_bp
	add	a,#0x0f
	mov	r0,a
	mov	a,r2
	add	a,@r0
	mov	@r0,a
	mov	a,r3
	inc	r0
	addc	a,@r0
	mov	@r0,a
;	../../Common/modules/cUDP.c:254: break;
	pop	ar6
	pop	ar5
	pop	ar4
	ljmp	00119$
;	../../Common/modules/cUDP.c:256: case COMPRESSED_HC_UDP:
00117$:
;	../../Common/modules/cUDP.c:259: portfield = buf->buf[ind++];
	push	ar4
	push	ar5
	push	ar6
	mov	r0,_bp
	inc	r0
	mov	a,#0x2C
	add	a,@r0
	mov	r2,a
	clr	a
	inc	r0
	addc	a,@r0
	mov	r3,a
	inc	r0
	mov	ar7,@r0
	mov	a,_bp
	add	a,#0x05
	mov	r0,a
	mov	ar4,@r0
	mov	a,_bp
	add	a,#0x05
	mov	r0,a
	inc	@r0
	mov	a,r4
	add	a,r2
	mov	r2,a
	clr	a
	addc	a,r3
	mov	r3,a
	mov	dpl,r2
	mov	dph,r3
	mov	b,r7
	lcall	__gptrget
	mov	r2,a
	mov	a,_bp
	add	a,#0x11
	mov	r0,a
	mov	@r0,ar2
;	../../Common/modules/cUDP.c:261: buf->src_sa.port = ((portfield & S_PORTBM) + HC2_ENCODE_P_VALUE );
	mov	r0,_bp
	inc	r0
	mov	a,#0x10
	add	a,@r0
	mov	r2,a
	clr	a
	inc	r0
	addc	a,@r0
	mov	r3,a
	inc	r0
	mov	ar4,@r0
	mov	a,#0x0B
	add	a,r2
	mov	r2,a
	clr	a
	addc	a,r3
	mov	r3,a
	mov	a,_bp
	add	a,#0x11
	mov	r0,a
	mov	a,#0x0F
	anl	a,@r0
	mov	r5,a
	mov	r6,#0x00
	mov	a,#0xB0
	add	a,r5
	mov	r5,a
	mov	a,#0xF0
	addc	a,r6
	mov	r6,a
	mov	dpl,r2
	mov	dph,r3
	mov	b,r4
	mov	a,r5
	lcall	__gptrput
	inc	dptr
	mov	a,r6
	lcall	__gptrput
;	../../Common/modules/cUDP.c:263: buf->dst_sa.port = ((portfield >> 4) + HC2_ENCODE_P_VALUE);
	mov	r0,_bp
	inc	r0
	mov	a,#0x03
	add	a,@r0
	mov	r2,a
	clr	a
	inc	r0
	addc	a,@r0
	mov	r3,a
	inc	r0
	mov	ar4,@r0
	mov	a,#0x0B
	add	a,r2
	mov	r2,a
	clr	a
	addc	a,r3
	mov	r3,a
	mov	a,_bp
	add	a,#0x11
	mov	r0,a
	mov	a,@r0
	swap	a
	anl	a,#0x0f
	mov	r5,a
	mov	r6,#0x00
	mov	a,#0xB0
	add	a,r5
	mov	r5,a
	mov	a,#0xF0
	addc	a,r6
	mov	r6,a
	mov	dpl,r2
	mov	dph,r3
	mov	b,r4
	mov	a,r5
	lcall	__gptrput
	inc	dptr
	mov	a,r6
	lcall	__gptrput
;	../../Common/modules/cUDP.c:265: data_length = ((buf->buf_end - buf->buf_ptr) - header_length);
	mov	a,_bp
	add	a,#0x19
	mov	r0,a
	mov	a,_bp
	add	a,#0x1b
	mov	r1,a
	mov	a,@r0
	clr	c
	subb	a,@r1
	mov	r2,a
	inc	r0
	mov	a,@r0
	inc	r1
	subb	a,@r1
	mov	r3,a
	mov	a,_bp
	add	a,#0x0d
	mov	r0,a
	mov	a,r2
	add	a,#0xfd
	mov	@r0,a
	mov	a,r3
	addc	a,#0xff
	inc	r0
	mov	@r0,a
;	../../Common/modules/cUDP.c:266: length =(data_length + 8);
	mov	a,_bp
	add	a,#0x0d
	mov	r0,a
	mov	a,_bp
	add	a,#0x0f
	mov	r1,a
	mov	a,#0x08
	add	a,@r0
	mov	@r1,a
	clr	a
	inc	r0
	addc	a,@r0
	inc	r1
	mov	@r1,a
;	../../Common/modules/cUDP.c:267: break;
	pop	ar6
	pop	ar5
	pop	ar4
	ljmp	00119$
;	../../Common/modules/cUDP.c:268: case LENGTH_COMPRESSED_HC_UDP:
00118$:
;	../../Common/modules/cUDP.c:271: port = buf->buf[ind++];
	push	ar4
	push	ar5
	push	ar6
	mov	r0,_bp
	inc	r0
	mov	a,#0x2C
	add	a,@r0
	mov	r2,a
	clr	a
	inc	r0
	addc	a,@r0
	mov	r3,a
	inc	r0
	mov	ar7,@r0
	mov	a,_bp
	add	a,#0x05
	mov	r0,a
	mov	ar4,@r0
	mov	a,_bp
	add	a,#0x05
	mov	r0,a
	inc	@r0
	mov	a,r4
	add	a,r2
	mov	r4,a
	clr	a
	addc	a,r3
	mov	r5,a
	mov	ar6,r7
	mov	dpl,r4
	mov	dph,r5
	mov	b,r6
	lcall	__gptrget
	mov	r4,a
	mov	a,_bp
	add	a,#0x0b
	mov	r0,a
	mov	@r0,ar4
	inc	r0
	mov	@r0,#0x00
;	../../Common/modules/cUDP.c:272: port <<= 8;
	mov	a,_bp
	add	a,#0x0b
	mov	r0,a
	mov	a,@r0
	inc	r0
	mov	@r0,a
	dec	r0
	mov	@r0,#0x00
;	../../Common/modules/cUDP.c:273: port += buf->buf[ind++];
	mov	a,_bp
	add	a,#0x05
	mov	r0,a
	mov	ar4,@r0
	mov	a,_bp
	add	a,#0x05
	mov	r0,a
	inc	@r0
	mov	a,r4
	add	a,r2
	mov	r4,a
	clr	a
	addc	a,r3
	mov	r5,a
	mov	ar6,r7
	mov	dpl,r4
	mov	dph,r5
	mov	b,r6
	lcall	__gptrget
	mov	r4,a
	mov	r5,#0x00
	mov	a,_bp
	add	a,#0x0b
	mov	r0,a
	mov	a,r4
	add	a,@r0
	mov	@r0,a
	mov	a,r5
	inc	r0
	addc	a,@r0
	mov	@r0,a
;	../../Common/modules/cUDP.c:274: buf->src_sa.port=port;
	mov	r0,_bp
	inc	r0
	mov	a,#0x10
	add	a,@r0
	mov	r4,a
	clr	a
	inc	r0
	addc	a,@r0
	mov	r5,a
	inc	r0
	mov	ar6,@r0
	mov	a,#0x0B
	add	a,r4
	mov	r4,a
	clr	a
	addc	a,r5
	mov	r5,a
	mov	dpl,r4
	mov	dph,r5
	mov	b,r6
	mov	a,_bp
	add	a,#0x0b
	mov	r0,a
	mov	a,@r0
	lcall	__gptrput
	inc	dptr
	inc	r0
	mov	a,@r0
	lcall	__gptrput
;	../../Common/modules/cUDP.c:276: port = buf->buf[ind++];
	mov	a,_bp
	add	a,#0x05
	mov	r0,a
	mov	ar4,@r0
	mov	a,_bp
	add	a,#0x05
	mov	r0,a
	inc	@r0
	mov	a,r4
	add	a,r2
	mov	r4,a
	clr	a
	addc	a,r3
	mov	r5,a
	mov	ar6,r7
	mov	dpl,r4
	mov	dph,r5
	mov	b,r6
	lcall	__gptrget
	mov	r4,a
	mov	a,_bp
	add	a,#0x0b
	mov	r0,a
	mov	@r0,ar4
	inc	r0
	mov	@r0,#0x00
;	../../Common/modules/cUDP.c:277: port <<= 8;
	mov	a,_bp
	add	a,#0x0b
	mov	r0,a
	mov	a,@r0
	inc	r0
	mov	@r0,a
	dec	r0
	mov	@r0,#0x00
;	../../Common/modules/cUDP.c:278: port += buf->buf[ind++];
	mov	a,_bp
	add	a,#0x05
	mov	r0,a
	mov	ar4,@r0
	mov	a,_bp
	add	a,#0x05
	mov	r0,a
	inc	@r0
	mov	a,r4
	add	a,r2
	mov	r2,a
	clr	a
	addc	a,r3
	mov	r3,a
	mov	dpl,r2
	mov	dph,r3
	mov	b,r7
	lcall	__gptrget
	mov	r2,a
	mov	r3,#0x00
	mov	a,_bp
	add	a,#0x0b
	mov	r0,a
	mov	a,r2
	add	a,@r0
	mov	@r0,a
	mov	a,r3
	inc	r0
	addc	a,@r0
	mov	@r0,a
;	../../Common/modules/cUDP.c:279: buf->dst_sa.port=port;
	mov	r0,_bp
	inc	r0
	mov	a,#0x03
	add	a,@r0
	mov	r2,a
	clr	a
	inc	r0
	addc	a,@r0
	mov	r3,a
	inc	r0
	mov	ar4,@r0
	mov	a,#0x0B
	add	a,r2
	mov	r2,a
	clr	a
	addc	a,r3
	mov	r3,a
	mov	dpl,r2
	mov	dph,r3
	mov	b,r4
	mov	a,_bp
	add	a,#0x0b
	mov	r0,a
	mov	a,@r0
	lcall	__gptrput
	inc	dptr
	inc	r0
	mov	a,@r0
	lcall	__gptrput
;	../../Common/modules/cUDP.c:280: data_length = ((buf->buf_end - buf->buf_ptr) - header_length);
	mov	a,_bp
	add	a,#0x19
	mov	r0,a
	mov	a,_bp
	add	a,#0x1b
	mov	r1,a
	mov	a,@r0
	clr	c
	subb	a,@r1
	mov	r2,a
	inc	r0
	mov	a,@r0
	inc	r1
	subb	a,@r1
	mov	r3,a
	mov	a,_bp
	add	a,#0x0d
	mov	r0,a
	mov	a,r2
	add	a,#0xfa
	mov	@r0,a
	mov	a,r3
	addc	a,#0xff
	inc	r0
	mov	@r0,a
;	../../Common/modules/cUDP.c:281: length =(data_length + 8);
	mov	a,_bp
	add	a,#0x0d
	mov	r0,a
	mov	a,_bp
	add	a,#0x0f
	mov	r1,a
	mov	a,#0x08
	add	a,@r0
	mov	@r1,a
	clr	a
	inc	r0
	addc	a,@r0
	inc	r1
	mov	@r1,a
;	../../Common/modules/cUDP.c:471: return pdTRUE;
	pop	ar6
	pop	ar5
	pop	ar4
;	../../Common/modules/cUDP.c:283: }
00119$:
;	../../Common/modules/cUDP.c:329: ind += 2;
	mov	a,_bp
	add	a,#0x05
	mov	r0,a
	inc	@r0
	inc	@r0
;	../../Common/modules/cUDP.c:330: buf-> buf_ptr = ind;			
	mov	a,_bp
	add	a,#0x05
	mov	r0,a
	mov	ar3,@r0
	mov	r2,#0x00
	mov	dpl,r4
	mov	dph,r5
	mov	b,r6
	mov	a,r3
	lcall	__gptrput
	inc	dptr
	mov	a,r2
	lcall	__gptrput
;	../../Common/modules/cUDP.c:333: if (buf && (buf->dst_sa.port == NPING_PORT || buf->dst_sa.port == UDP_ECHO_PORT) )
	mov	r0,_bp
	inc	r0
	mov	a,@r0
	inc	r0
	orl	a,@r0
	inc	r0
	orl	a,@r0
	jnz	00194$
	ljmp	00142$
00194$:
	mov	r0,_bp
	inc	r0
	mov	a,#0x03
	add	a,@r0
	mov	r2,a
	clr	a
	inc	r0
	addc	a,@r0
	mov	r3,a
	inc	r0
	mov	ar4,@r0
	mov	a,#0x0B
	add	a,r2
	mov	r2,a
	clr	a
	addc	a,r3
	mov	r3,a
	mov	dpl,r2
	mov	dph,r3
	mov	b,r4
	lcall	__gptrget
	mov	r2,a
	inc	dptr
	lcall	__gptrget
	mov	r3,a
	clr	a
	cjne	r2,#0xFE,00195$
	cjne	r3,#0x00,00195$
	inc	a
00195$:
	mov	r4,a
	jnz	00141$
	cjne	r2,#0x07,00198$
	cjne	r3,#0x00,00198$
	sjmp	00199$
00198$:
	ljmp	00142$
00199$:
00141$:
;	../../Common/modules/cUDP.c:335: if ((buf->src_sa.port == NPING_PORT && buf->dst_sa.port == NPING_PORT) || (buf->src_sa.port == UDP_ECHO_PORT  && buf->dst_sa.port == UDP_ECHO_PORT) )
	mov	r0,_bp
	inc	r0
	mov	a,#0x10
	add	a,@r0
	mov	r5,a
	clr	a
	inc	r0
	addc	a,@r0
	mov	r6,a
	inc	r0
	mov	ar7,@r0
	mov	a,#0x0B
	add	a,r5
	mov	r5,a
	clr	a
	addc	a,r6
	mov	r6,a
	mov	dpl,r5
	mov	dph,r6
	mov	b,r7
	lcall	__gptrget
	mov	r5,a
	inc	dptr
	lcall	__gptrget
	mov	r6,a
	cjne	r5,#0xFE,00124$
	cjne	r6,#0x00,00124$
	mov	a,r4
	jnz	00120$
00124$:
	cjne	r5,#0x07,00121$
	cjne	r6,#0x00,00121$
	cjne	r2,#0x07,00121$
	cjne	r3,#0x00,00121$
00120$:
;	../../Common/modules/cUDP.c:337: stack_buffer_free(buf);
	mov	r0,_bp
	inc	r0
	mov	dpl,@r0
	inc	r0
	mov	dph,@r0
	inc	r0
	mov	b,@r0
	lcall	_stack_buffer_free
;	../../Common/modules/cUDP.c:338: buf=0;						
	mov	r0,_bp
	inc	r0
	clr	a
	mov	@r0,a
	inc	r0
	mov	@r0,a
	inc	r0
	mov	@r0,a
00121$:
;	../../Common/modules/cUDP.c:340: if (buf)
	mov	r0,_bp
	inc	r0
	mov	a,@r0
	inc	r0
	orl	a,@r0
	inc	r0
	orl	a,@r0
	jnz	00207$
	ljmp	00142$
00207$:
;	../../Common/modules/cUDP.c:357: port = buf->dst_sa.port;
	mov	r0,_bp
	inc	r0
	mov	a,#0x03
	add	a,@r0
	mov	r4,a
	clr	a
	inc	r0
	addc	a,@r0
	mov	r5,a
	inc	r0
	mov	ar6,@r0
	mov	a,_bp
	add	a,#0x27
	mov	r0,a
	mov	a,#0x0B
	add	a,r4
	mov	@r0,a
	clr	a
	addc	a,r5
	inc	r0
	mov	@r0,a
	inc	r0
	mov	@r0,ar6
	mov	a,_bp
	add	a,#0x27
	mov	r0,a
	mov	dpl,@r0
	inc	r0
	mov	dph,@r0
	inc	r0
	mov	b,@r0
	lcall	__gptrget
	mov	r2,a
	inc	dptr
	lcall	__gptrget
	mov	r3,a
	mov	a,_bp
	add	a,#0x0b
	mov	r0,a
	mov	@r0,ar2
	inc	r0
	mov	@r0,ar3
;	../../Common/modules/cUDP.c:358: buf->dst_sa.port = buf->src_sa.port;
	mov	r0,_bp
	inc	r0
	mov	a,_bp
	add	a,#0x21
	mov	r1,a
	mov	a,#0x10
	add	a,@r0
	mov	@r1,a
	clr	a
	inc	r0
	addc	a,@r0
	inc	r1
	mov	@r1,a
	inc	r0
	inc	r1
	mov	a,@r0
	mov	@r1,a
	mov	a,_bp
	add	a,#0x21
	mov	r0,a
	mov	a,_bp
	add	a,#0x1e
	mov	r1,a
	mov	a,#0x0B
	add	a,@r0
	mov	@r1,a
	clr	a
	inc	r0
	addc	a,@r0
	inc	r1
	mov	@r1,a
	inc	r0
	inc	r1
	mov	a,@r0
	mov	@r1,a
	mov	a,_bp
	add	a,#0x1e
	mov	r0,a
	mov	dpl,@r0
	inc	r0
	mov	dph,@r0
	inc	r0
	mov	b,@r0
	lcall	__gptrget
	mov	r2,a
	inc	dptr
	lcall	__gptrget
	mov	r3,a
	mov	a,_bp
	add	a,#0x27
	mov	r0,a
	mov	dpl,@r0
	inc	r0
	mov	dph,@r0
	inc	r0
	mov	b,@r0
	mov	a,r2
	lcall	__gptrput
	inc	dptr
	mov	a,r3
	lcall	__gptrput
;	../../Common/modules/cUDP.c:359: buf->src_sa.port = port;
	mov	a,_bp
	add	a,#0x1e
	mov	r0,a
	mov	dpl,@r0
	inc	r0
	mov	dph,@r0
	inc	r0
	mov	b,@r0
	mov	a,_bp
	add	a,#0x0b
	mov	r1,a
	mov	a,@r1
	lcall	__gptrput
	inc	dptr
	inc	r1
	mov	a,@r1
	lcall	__gptrput
;	../../Common/modules/cUDP.c:360: buf->dst_sa.addr_type = buf->src_sa.addr_type;
	mov	a,_bp
	add	a,#0x21
	mov	r0,a
	mov	dpl,@r0
	inc	r0
	mov	dph,@r0
	inc	r0
	mov	b,@r0
	lcall	__gptrget
	mov	r2,a
	mov	dpl,r4
	mov	dph,r5
	mov	b,r6
	lcall	__gptrput
;	../../Common/modules/cUDP.c:361: buf->src_sa.addr_type = ADDR_NONE;
	mov	a,_bp
	add	a,#0x21
	mov	r0,a
	mov	dpl,@r0
	inc	r0
	mov	dph,@r0
	inc	r0
	mov	b,@r0
	clr	a
	lcall	__gptrput
;	../../Common/modules/cUDP.c:362: if(buf->dst_sa.addr_type == ADDR_802_15_4_PAN_LONG)
	cjne	r2,#0x04,00126$
;	../../Common/modules/cUDP.c:363: dest_length=8;
	mov	r2,#0x08
	sjmp	00172$
00126$:
;	../../Common/modules/cUDP.c:365: dest_length=2;
	mov	r2,#0x02
;	../../Common/modules/cUDP.c:367: for (i=0; i < dest_length; i++)
00172$:
	mov	a,#0x01
	add	a,r4
	mov	r7,a
	clr	a
	addc	a,r5
	mov	r5,a
	mov	a,_bp
	add	a,#0x21
	mov	r0,a
	inc	@r0
	cjne	@r0,#0x00,00210$
	inc	r0
	inc	@r0
00210$:
	mov	a,_bp
	add	a,#0x07
	mov	r0,a
	mov	@r0,#0x00
00148$:
	mov	a,_bp
	add	a,#0x07
	mov	r0,a
	clr	c
	mov	a,@r0
	subb	a,r2
	jnc	00151$
;	../../Common/modules/cUDP.c:369: buf->dst_sa.address[i] = buf->src_sa.address[i];
	push	ar2
	mov	a,_bp
	add	a,#0x07
	mov	r0,a
	mov	a,_bp
	add	a,#0x24
	mov	r1,a
	mov	a,@r0
	add	a,r7
	mov	@r1,a
	clr	a
	addc	a,r5
	inc	r1
	mov	@r1,a
	inc	r1
	mov	@r1,ar6
	mov	a,_bp
	add	a,#0x21
	mov	r0,a
	mov	a,_bp
	add	a,#0x07
	mov	r1,a
	mov	a,@r1
	add	a,@r0
	mov	r2,a
	clr	a
	inc	r0
	addc	a,@r0
	mov	r3,a
	inc	r0
	mov	ar4,@r0
	mov	dpl,r2
	mov	dph,r3
	mov	b,r4
	lcall	__gptrget
	mov	r2,a
	mov	a,_bp
	add	a,#0x24
	mov	r0,a
	mov	dpl,@r0
	inc	r0
	mov	dph,@r0
	inc	r0
	mov	b,@r0
	mov	a,r2
	lcall	__gptrput
;	../../Common/modules/cUDP.c:367: for (i=0; i < dest_length; i++)
	mov	a,_bp
	add	a,#0x07
	mov	r0,a
	inc	@r0
	pop	ar2
	sjmp	00148$
00151$:
;	../../Common/modules/cUDP.c:387: if(use_compress)
	mov	dptr,#_use_compress
	movx	a,@dptr
	mov	r2,a
	jnz	00212$
	ljmp	00133$
00212$:
;	../../Common/modules/cUDP.c:391: if(buf->src_sa.port > HC2_PORT_ENCODE && buf->dst_sa.port > HC2_PORT_ENCODE)
	mov	a,_bp
	add	a,#0x1e
	mov	r0,a
	mov	dpl,@r0
	inc	r0
	mov	dph,@r0
	inc	r0
	mov	b,@r0
	lcall	__gptrget
	mov	r2,a
	inc	dptr
	lcall	__gptrget
	mov	r3,a
	clr	c
	mov	a,#0xAF
	subb	a,r2
	mov	a,#0xF0
	subb	a,r3
	jnc	00129$
	mov	a,_bp
	add	a,#0x27
	mov	r0,a
	mov	dpl,@r0
	inc	r0
	mov	dph,@r0
	inc	r0
	mov	b,@r0
	lcall	__gptrget
	mov	r2,a
	inc	dptr
	lcall	__gptrget
	mov	r3,a
	clr	c
	mov	a,#0xAF
	subb	a,r2
	mov	a,#0xF0
	subb	a,r3
	jnc	00129$
;	../../Common/modules/cUDP.c:394: portfield = (buf->src_sa.port - HC2_ENCODE_P_VALUE);
	mov	a,_bp
	add	a,#0x1e
	mov	r0,a
	mov	dpl,@r0
	inc	r0
	mov	dph,@r0
	inc	r0
	mov	b,@r0
	lcall	__gptrget
	mov	r2,a
	inc	dptr
	lcall	__gptrget
	mov	r3,a
	mov	a,r2
	add	a,#0x50
	mov	r2,a
	mov	a,_bp
	add	a,#0x11
	mov	r0,a
	mov	@r0,ar2
;	../../Common/modules/cUDP.c:396: portfield |= ((buf->src_sa.port - HC2_ENCODE_P_VALUE) << 4);
	mov	a,r2
	swap	a
	anl	a,#0xf0
	mov	r2,a
	mov	a,_bp
	add	a,#0x11
	mov	r0,a
	mov	a,r2
	orl	a,@r0
	mov	@r0,a
;	../../Common/modules/cUDP.c:397: tmp_8++;
	mov	a,_bp
	add	a,#0x04
	mov	r0,a
	mov	@r0,#0x03
	sjmp	00134$
00129$:
;	../../Common/modules/cUDP.c:400: tmp_8 +=4;
	mov	a,_bp
	add	a,#0x04
	mov	r0,a
	mov	@r0,#0x06
	sjmp	00134$
00133$:
;	../../Common/modules/cUDP.c:403: tmp_8=8;
	mov	a,_bp
	add	a,#0x04
	mov	r0,a
	mov	@r0,#0x08
00134$:
;	../../Common/modules/cUDP.c:405: buf->buf_ptr -= tmp_8;
	mov	r0,_bp
	inc	r0
	mov	a,#0x20
	add	a,@r0
	mov	r2,a
	clr	a
	inc	r0
	addc	a,@r0
	mov	r3,a
	inc	r0
	mov	ar4,@r0
	mov	dpl,r2
	mov	dph,r3
	mov	b,r4
	mov	a,_bp
	add	a,#0x24
	mov	r0,a
	lcall	__gptrget
	mov	@r0,a
	inc	dptr
	lcall	__gptrget
	inc	r0
	mov	@r0,a
	mov	a,_bp
	add	a,#0x04
	mov	r0,a
	mov	ar7,@r0
	mov	r5,#0x00
	mov	a,_bp
	add	a,#0x24
	mov	r0,a
	mov	a,@r0
	clr	c
	subb	a,r7
	mov	r7,a
	inc	r0
	mov	a,@r0
	subb	a,r5
	mov	r5,a
	mov	dpl,r2
	mov	dph,r3
	mov	b,r4
	mov	a,r7
	lcall	__gptrput
	inc	dptr
	mov	a,r5
	lcall	__gptrput
;	../../Common/modules/cUDP.c:406: ind = buf->buf_ptr;
	mov	a,_bp
	add	a,#0x05
	mov	r0,a
	mov	@r0,ar7
;	../../Common/modules/cUDP.c:407: switch (tmp_8)
	mov	a,_bp
	add	a,#0x04
	mov	r0,a
	clr	a
	cjne	@r0,#0x03,00215$
	inc	a
00215$:
	jz	00217$
	ljmp	00136$
00217$:
	mov	a,_bp
	add	a,#0x04
	mov	r0,a
	cjne	@r0,#0x06,00218$
	sjmp	00135$
00218$:
	mov	a,_bp
	add	a,#0x04
	mov	r0,a
	cjne	@r0,#0x08,00219$
	ljmp	00137$
00219$:
	ljmp	00138$
;	../../Common/modules/cUDP.c:409: case 6:
00135$:
;	../../Common/modules/cUDP.c:410: buf->options.lowpan_compressed = LENGTH_COMPRESSED_HC_UDP; 
	mov	r0,_bp
	inc	r0
	mov	a,#0x26
	add	a,@r0
	mov	r2,a
	clr	a
	inc	r0
	addc	a,@r0
	mov	r3,a
	inc	r0
	mov	ar4,@r0
	mov	a,#0x05
	add	a,r2
	mov	r2,a
	clr	a
	addc	a,r3
	mov	r3,a
	mov	dpl,r2
	mov	dph,r3
	mov	b,r4
	mov	a,#0x04
	lcall	__gptrput
;	../../Common/modules/cUDP.c:411: buf->buf[ind++] = (buf->src_sa.port >> 8);		
	mov	r0,_bp
	inc	r0
	mov	a,#0x2C
	add	a,@r0
	mov	r3,a
	clr	a
	inc	r0
	addc	a,@r0
	mov	r5,a
	inc	r0
	mov	ar6,@r0
	mov	a,_bp
	add	a,#0x05
	mov	r0,a
	mov	ar2,@r0
	mov	a,_bp
	add	a,#0x05
	mov	r0,a
	inc	@r0
	mov	a,_bp
	add	a,#0x21
	mov	r0,a
	mov	a,r2
	add	a,r3
	mov	@r0,a
	clr	a
	addc	a,r5
	inc	r0
	mov	@r0,a
	inc	r0
	mov	@r0,ar6
	mov	a,_bp
	add	a,#0x1e
	mov	r0,a
	mov	dpl,@r0
	inc	r0
	mov	dph,@r0
	inc	r0
	mov	b,@r0
	lcall	__gptrget
	mov	r2,a
	inc	dptr
	lcall	__gptrget
	mov	r7,a
	mov	ar4,r7
	mov	a,_bp
	add	a,#0x21
	mov	r0,a
	mov	dpl,@r0
	inc	r0
	mov	dph,@r0
	inc	r0
	mov	b,@r0
	mov	a,r4
	lcall	__gptrput
;	../../Common/modules/cUDP.c:412: buf->buf[ind++] = (uint8_t) buf->src_sa.port;
	mov	a,_bp
	add	a,#0x05
	mov	r0,a
	mov	ar4,@r0
	mov	a,_bp
	add	a,#0x05
	mov	r0,a
	inc	@r0
	mov	a,_bp
	add	a,#0x21
	mov	r0,a
	mov	a,r4
	add	a,r3
	mov	@r0,a
	clr	a
	addc	a,r5
	inc	r0
	mov	@r0,a
	inc	r0
	mov	@r0,ar6
	mov	a,_bp
	add	a,#0x21
	mov	r0,a
	mov	dpl,@r0
	inc	r0
	mov	dph,@r0
	inc	r0
	mov	b,@r0
	mov	a,r2
	lcall	__gptrput
;	../../Common/modules/cUDP.c:413: buf->buf[ind++] = (buf->dst_sa.port >> 8);		
	mov	a,_bp
	add	a,#0x05
	mov	r0,a
	mov	ar2,@r0
	mov	a,_bp
	add	a,#0x05
	mov	r0,a
	inc	@r0
	mov	a,_bp
	add	a,#0x21
	mov	r0,a
	mov	a,r2
	add	a,r3
	mov	@r0,a
	clr	a
	addc	a,r5
	inc	r0
	mov	@r0,a
	inc	r0
	mov	@r0,ar6
	mov	a,_bp
	add	a,#0x27
	mov	r0,a
	mov	dpl,@r0
	inc	r0
	mov	dph,@r0
	inc	r0
	mov	b,@r0
	lcall	__gptrget
	mov	r2,a
	inc	dptr
	lcall	__gptrget
	mov	r7,a
	mov	ar4,r7
	mov	a,_bp
	add	a,#0x21
	mov	r0,a
	mov	dpl,@r0
	inc	r0
	mov	dph,@r0
	inc	r0
	mov	b,@r0
	mov	a,r4
	lcall	__gptrput
;	../../Common/modules/cUDP.c:414: buf->buf[ind++] = (uint8_t)buf->dst_sa.port;
	mov	a,_bp
	add	a,#0x05
	mov	r0,a
	mov	ar4,@r0
	mov	a,_bp
	add	a,#0x05
	mov	r0,a
	inc	@r0
	mov	a,r4
	add	a,r3
	mov	r3,a
	clr	a
	addc	a,r5
	mov	r5,a
	mov	ar4,r6
	mov	dpl,r3
	mov	dph,r5
	mov	b,r4
	mov	a,r2
	lcall	__gptrput
;	../../Common/modules/cUDP.c:415: break;
	ljmp	00138$
;	../../Common/modules/cUDP.c:417: case 3:
00136$:
;	../../Common/modules/cUDP.c:418: buf->options.lowpan_compressed = COMPRESSED_HC_UDP; 
	mov	r0,_bp
	inc	r0
	mov	a,#0x26
	add	a,@r0
	mov	r2,a
	clr	a
	inc	r0
	addc	a,@r0
	mov	r3,a
	inc	r0
	mov	ar4,@r0
	mov	a,#0x05
	add	a,r2
	mov	r2,a
	clr	a
	addc	a,r3
	mov	r3,a
	mov	dpl,r2
	mov	dph,r3
	mov	b,r4
	mov	a,#0x07
	lcall	__gptrput
;	../../Common/modules/cUDP.c:419: buf->buf[ind++] = portfield;
	mov	r0,_bp
	inc	r0
	mov	a,#0x2C
	add	a,@r0
	mov	r5,a
	clr	a
	inc	r0
	addc	a,@r0
	mov	r3,a
	inc	r0
	mov	ar4,@r0
	mov	a,_bp
	add	a,#0x05
	mov	r0,a
	mov	ar2,@r0
	mov	a,_bp
	add	a,#0x05
	mov	r0,a
	inc	@r0
	mov	a,r2
	add	a,r5
	mov	r2,a
	clr	a
	addc	a,r3
	mov	r3,a
	mov	dpl,r2
	mov	dph,r3
	mov	b,r4
	mov	a,_bp
	add	a,#0x11
	mov	r0,a
	mov	a,@r0
	lcall	__gptrput
;	../../Common/modules/cUDP.c:420: break;
	ljmp	00138$
;	../../Common/modules/cUDP.c:422: case 8:
00137$:
;	../../Common/modules/cUDP.c:423: buf->options.lowpan_compressed = 0;
	mov	r0,_bp
	inc	r0
	mov	a,#0x26
	add	a,@r0
	mov	r2,a
	clr	a
	inc	r0
	addc	a,@r0
	mov	r3,a
	inc	r0
	mov	ar4,@r0
	mov	a,#0x05
	add	a,r2
	mov	r2,a
	clr	a
	addc	a,r3
	mov	r3,a
	mov	dpl,r2
	mov	dph,r3
	mov	b,r4
	clr	a
	lcall	__gptrput
;	../../Common/modules/cUDP.c:424: buf->buf[ind++] = (buf->src_sa.port >> 8);		
	mov	r0,_bp
	inc	r0
	mov	a,#0x2C
	add	a,@r0
	mov	r2,a
	clr	a
	inc	r0
	addc	a,@r0
	mov	r3,a
	inc	r0
	mov	ar4,@r0
	mov	a,_bp
	add	a,#0x05
	mov	r0,a
	mov	ar5,@r0
	mov	a,_bp
	add	a,#0x05
	mov	r0,a
	inc	@r0
	mov	a,_bp
	add	a,#0x24
	mov	r0,a
	mov	a,r5
	add	a,r2
	mov	@r0,a
	clr	a
	addc	a,r3
	inc	r0
	mov	@r0,a
	inc	r0
	mov	@r0,ar4
	mov	a,_bp
	add	a,#0x1e
	mov	r0,a
	mov	dpl,@r0
	inc	r0
	mov	dph,@r0
	inc	r0
	mov	b,@r0
	lcall	__gptrget
	mov	r5,a
	inc	dptr
	lcall	__gptrget
	mov	r6,a
	mov	ar7,r6
	mov	a,_bp
	add	a,#0x24
	mov	r0,a
	mov	dpl,@r0
	inc	r0
	mov	dph,@r0
	inc	r0
	mov	b,@r0
	mov	a,r7
	lcall	__gptrput
;	../../Common/modules/cUDP.c:425: buf->buf[ind++] = (uint8_t) buf->src_sa.port;
	mov	a,_bp
	add	a,#0x05
	mov	r0,a
	mov	ar7,@r0
	mov	a,_bp
	add	a,#0x05
	mov	r0,a
	inc	@r0
	mov	a,_bp
	add	a,#0x24
	mov	r0,a
	mov	a,r7
	add	a,r2
	mov	@r0,a
	clr	a
	addc	a,r3
	inc	r0
	mov	@r0,a
	inc	r0
	mov	@r0,ar4
	mov	a,_bp
	add	a,#0x24
	mov	r0,a
	mov	dpl,@r0
	inc	r0
	mov	dph,@r0
	inc	r0
	mov	b,@r0
	mov	a,r5
	lcall	__gptrput
;	../../Common/modules/cUDP.c:426: buf->buf[ind++] = (buf->dst_sa.port >> 8);		
	mov	a,_bp
	add	a,#0x05
	mov	r0,a
	mov	ar5,@r0
	mov	a,_bp
	add	a,#0x05
	mov	r0,a
	inc	@r0
	mov	a,_bp
	add	a,#0x24
	mov	r0,a
	mov	a,r5
	add	a,r2
	mov	@r0,a
	clr	a
	addc	a,r3
	inc	r0
	mov	@r0,a
	inc	r0
	mov	@r0,ar4
	mov	a,_bp
	add	a,#0x27
	mov	r0,a
	mov	dpl,@r0
	inc	r0
	mov	dph,@r0
	inc	r0
	mov	b,@r0
	lcall	__gptrget
	mov	r5,a
	inc	dptr
	lcall	__gptrget
	mov	r6,a
	mov	ar7,r6
	mov	a,_bp
	add	a,#0x24
	mov	r0,a
	mov	dpl,@r0
	inc	r0
	mov	dph,@r0
	inc	r0
	mov	b,@r0
	mov	a,r7
	lcall	__gptrput
;	../../Common/modules/cUDP.c:427: buf->buf[ind++] = (uint8_t)buf->dst_sa.port;
	mov	a,_bp
	add	a,#0x05
	mov	r0,a
	mov	ar7,@r0
	mov	a,_bp
	add	a,#0x05
	mov	r0,a
	inc	@r0
	mov	a,_bp
	add	a,#0x24
	mov	r0,a
	mov	a,r7
	add	a,r2
	mov	@r0,a
	clr	a
	addc	a,r3
	inc	r0
	mov	@r0,a
	inc	r0
	mov	@r0,ar4
	mov	a,_bp
	add	a,#0x24
	mov	r0,a
	mov	dpl,@r0
	inc	r0
	mov	dph,@r0
	inc	r0
	mov	b,@r0
	mov	a,r5
	lcall	__gptrput
;	../../Common/modules/cUDP.c:428: buf->buf[ind++] = (length >> 8);
	mov	a,_bp
	add	a,#0x05
	mov	r0,a
	mov	ar5,@r0
	mov	a,_bp
	add	a,#0x05
	mov	r0,a
	inc	@r0
	mov	a,_bp
	add	a,#0x27
	mov	r0,a
	mov	a,r5
	add	a,r2
	mov	@r0,a
	clr	a
	addc	a,r3
	inc	r0
	mov	@r0,a
	inc	r0
	mov	@r0,ar4
	mov	a,_bp
	add	a,#0x0f
	mov	r0,a
	inc	r0
	mov	ar5,@r0
	mov	a,_bp
	add	a,#0x27
	mov	r0,a
	mov	dpl,@r0
	inc	r0
	mov	dph,@r0
	inc	r0
	mov	b,@r0
	mov	a,r5
	lcall	__gptrput
;	../../Common/modules/cUDP.c:429: buf->buf[ind++] = (uint8_t) length;
	mov	a,_bp
	add	a,#0x05
	mov	r0,a
	mov	ar5,@r0
	mov	a,_bp
	add	a,#0x05
	mov	r0,a
	inc	@r0
	mov	a,r5
	add	a,r2
	mov	r2,a
	clr	a
	addc	a,r3
	mov	r3,a
	mov	a,_bp
	add	a,#0x0f
	mov	r0,a
	mov	ar7,@r0
	mov	dpl,r2
	mov	dph,r3
	mov	b,r4
	mov	a,r7
	lcall	__gptrput
;	../../Common/modules/cUDP.c:431: }
00138$:
;	../../Common/modules/cUDP.c:437: buf->buf[ind++] = 0;		
	mov	r0,_bp
	inc	r0
	mov	a,#0x2C
	add	a,@r0
	mov	r2,a
	clr	a
	inc	r0
	addc	a,@r0
	mov	r3,a
	inc	r0
	mov	ar4,@r0
	mov	a,_bp
	add	a,#0x05
	mov	r0,a
	mov	ar5,@r0
	mov	a,_bp
	add	a,#0x05
	mov	r0,a
	inc	@r0
	mov	a,r5
	add	a,r2
	mov	r5,a
	clr	a
	addc	a,r3
	mov	r6,a
	mov	ar7,r4
	mov	dpl,r5
	mov	dph,r6
	mov	b,r7
	clr	a
	lcall	__gptrput
;	../../Common/modules/cUDP.c:438: buf->buf[ind++] = 0;
	mov	a,_bp
	add	a,#0x05
	mov	r0,a
	mov	ar5,@r0
	mov	a,_bp
	add	a,#0x05
	mov	r0,a
	inc	@r0
	mov	a,r5
	add	a,r2
	mov	r2,a
	clr	a
	addc	a,r3
	mov	r3,a
	mov	dpl,r2
	mov	dph,r3
	mov	b,r4
	clr	a
	lcall	__gptrput
;	../../Common/modules/cUDP.c:440: buf->socket = 0;
	mov	r0,_bp
	inc	r0
	mov	dpl,@r0
	inc	r0
	mov	dph,@r0
	inc	r0
	mov	b,@r0
	clr	a
	lcall	__gptrput
	inc	dptr
	clr	a
	lcall	__gptrput
	inc	dptr
	clr	a
	lcall	__gptrput
;	../../Common/modules/cUDP.c:441: buf->from = MODULE_CUDP;
	mov	r0,_bp
	inc	r0
	mov	a,#0x1D
	add	a,@r0
	mov	r2,a
	clr	a
	inc	r0
	addc	a,@r0
	mov	r3,a
	inc	r0
	mov	ar4,@r0
	mov	dpl,r2
	mov	dph,r3
	mov	b,r4
	mov	a,#0x02
	lcall	__gptrput
;	../../Common/modules/cUDP.c:442: buf->dir = BUFFER_DOWN;
	mov	r0,_bp
	inc	r0
	mov	a,#0x1F
	add	a,@r0
	mov	r2,a
	clr	a
	inc	r0
	addc	a,@r0
	mov	r3,a
	inc	r0
	mov	ar4,@r0
	mov	dpl,r2
	mov	dph,r3
	mov	b,r4
	mov	a,#0x01
	lcall	__gptrput
;	../../Common/modules/cUDP.c:443: buf->to = MODULE_NONE;
	mov	r0,_bp
	inc	r0
	mov	a,#0x1E
	add	a,@r0
	mov	r2,a
	clr	a
	inc	r0
	addc	a,@r0
	mov	r3,a
	inc	r0
	mov	ar4,@r0
	mov	dpl,r2
	mov	dph,r3
	mov	b,r4
	clr	a
	lcall	__gptrput
;	../../Common/modules/cUDP.c:444: stack_buffer_push(buf);
	mov	r0,_bp
	inc	r0
	mov	dpl,@r0
	inc	r0
	mov	dph,@r0
	inc	r0
	mov	b,@r0
	lcall	_stack_buffer_push
;	../../Common/modules/cUDP.c:445: buf=0;
	mov	r0,_bp
	inc	r0
	clr	a
	mov	@r0,a
	inc	r0
	mov	@r0,a
	inc	r0
	mov	@r0,a
00142$:
;	../../Common/modules/cUDP.c:448: if (buf)
	mov	r0,_bp
	inc	r0
	mov	a,@r0
	inc	r0
	orl	a,@r0
	inc	r0
	orl	a,@r0
	jz	00147$
;	../../Common/modules/cUDP.c:463: buf->from = MODULE_CUDP;
	mov	r0,_bp
	inc	r0
	mov	a,#0x1D
	add	a,@r0
	mov	r2,a
	clr	a
	inc	r0
	addc	a,@r0
	mov	r3,a
	inc	r0
	mov	ar4,@r0
	mov	dpl,r2
	mov	dph,r3
	mov	b,r4
	mov	a,#0x02
	lcall	__gptrput
;	../../Common/modules/cUDP.c:464: buf->to = MODULE_NONE;
	mov	r0,_bp
	inc	r0
	mov	a,#0x1E
	add	a,@r0
	mov	r2,a
	clr	a
	inc	r0
	addc	a,@r0
	mov	r3,a
	inc	r0
	mov	ar4,@r0
	mov	dpl,r2
	mov	dph,r3
	mov	b,r4
	clr	a
	lcall	__gptrput
;	../../Common/modules/cUDP.c:465: buf->buf_ptr = ind; // Move the buffer pointer
	mov	r0,_bp
	inc	r0
	mov	a,#0x20
	add	a,@r0
	mov	r2,a
	clr	a
	inc	r0
	addc	a,@r0
	mov	r3,a
	inc	r0
	mov	ar4,@r0
	mov	a,_bp
	add	a,#0x05
	mov	r0,a
	mov	ar5,@r0
	mov	r6,#0x00
	mov	dpl,r2
	mov	dph,r3
	mov	b,r4
	mov	a,r5
	lcall	__gptrput
	inc	dptr
	mov	a,r6
	lcall	__gptrput
;	../../Common/modules/cUDP.c:466: stack_buffer_push(buf);
	mov	r0,_bp
	inc	r0
	mov	dpl,@r0
	inc	r0
	mov	dph,@r0
	inc	r0
	mov	b,@r0
	lcall	_stack_buffer_push
;	../../Common/modules/cUDP.c:470: }
00147$:
;	../../Common/modules/cUDP.c:471: return pdTRUE;
	mov	dpl,#0x01
00152$:
	mov	sp,_bp
	pop	_bp
	ret
;------------------------------------------------------------
;Allocation info for local variables in function 'cudp_check'
;------------------------------------------------------------
;buf                       Allocated to stack - offset 1
;payload_length            Allocated to stack - offset 4
;ind                       Allocated to stack - offset 5
;length                    Allocated to registers r7 r5 
;------------------------------------------------------------
;	../../Common/modules/cUDP.c:482: portCHAR cudp_check( buffer_t *buf )
;	-----------------------------------------
;	 function cudp_check
;	-----------------------------------------
_cudp_check:
	push	_bp
	mov	_bp,sp
	push	dpl
	push	dph
	push	b
	inc	sp
	inc	sp
;	../../Common/modules/cUDP.c:486: switch (buf->options.lowpan_compressed)
	mov	r0,_bp
	inc	r0
	mov	a,#0x26
	add	a,@r0
	mov	r5,a
	clr	a
	inc	r0
	addc	a,@r0
	mov	r6,a
	inc	r0
	mov	ar7,@r0
	mov	a,#0x05
	add	a,r5
	mov	r5,a
	clr	a
	addc	a,r6
	mov	r6,a
	mov	dpl,r5
	mov	dph,r6
	mov	b,r7
	lcall	__gptrget
	mov	r5,a
	jz	00101$
	cjne	r5,#0x04,00115$
	ljmp	00107$
00115$:
	cjne	r5,#0x07,00116$
	ljmp	00107$
00116$:
	ljmp	00106$
;	../../Common/modules/cUDP.c:488: case UNCOMPRESSED_HC_UDP:
00101$:
;	../../Common/modules/cUDP.c:489: payload_length = (buf->buf_end - buf->buf_ptr);
	mov	r0,_bp
	inc	r0
	mov	a,#0x22
	add	a,@r0
	mov	r5,a
	clr	a
	inc	r0
	addc	a,@r0
	mov	r6,a
	inc	r0
	mov	ar7,@r0
	mov	dpl,r5
	mov	dph,r6
	mov	b,r7
	lcall	__gptrget
	mov	r5,a
	inc	dptr
	lcall	__gptrget
	mov	r0,_bp
	inc	r0
	mov	a,#0x20
	add	a,@r0
	mov	r6,a
	clr	a
	inc	r0
	addc	a,@r0
	mov	r7,a
	inc	r0
	mov	ar2,@r0
	mov	dpl,r6
	mov	dph,r7
	mov	b,r2
	lcall	__gptrget
	mov	r6,a
	inc	dptr
	lcall	__gptrget
	mov	a,r5
	clr	c
	subb	a,r6
	mov	r5,a
	mov	a,_bp
	add	a,#0x04
	mov	r0,a
	mov	@r0,ar5
;	../../Common/modules/cUDP.c:490: ind=buf->buf_ptr;
	mov	a,_bp
	add	a,#0x05
	mov	r0,a
	mov	@r0,ar6
;	../../Common/modules/cUDP.c:491: ind+=4;
	mov	a,_bp
	add	a,#0x05
	mov	r0,a
	mov	a,@r0
	add	a,#0x04
	mov	@r0,a
;	../../Common/modules/cUDP.c:492: length = buf->buf[ind++];
	mov	r0,_bp
	inc	r0
	mov	a,#0x2C
	add	a,@r0
	mov	r2,a
	clr	a
	inc	r0
	addc	a,@r0
	mov	r3,a
	inc	r0
	mov	ar4,@r0
	mov	a,_bp
	add	a,#0x05
	mov	r0,a
	mov	ar7,@r0
	mov	a,_bp
	add	a,#0x05
	mov	r0,a
	inc	@r0
	mov	a,r7
	add	a,r2
	mov	r7,a
	clr	a
	addc	a,r3
	mov	r5,a
	mov	ar6,r4
	mov	dpl,r7
	mov	dph,r5
	mov	b,r6
	lcall	__gptrget
	mov	r7,a
;	../../Common/modules/cUDP.c:493: length <<= 8;
	mov	ar5,r7
	mov	r7,#0x00
;	../../Common/modules/cUDP.c:494: length += buf->buf[ind++];
	mov	a,_bp
	add	a,#0x05
	mov	r0,a
	mov	a,@r0
	add	a,r2
	mov	r2,a
	clr	a
	addc	a,r3
	mov	r3,a
	mov	dpl,r2
	mov	dph,r3
	mov	b,r4
	lcall	__gptrget
	mov	r2,a
	mov	r3,#0x00
	mov	a,r2
	add	a,r7
	mov	r7,a
	mov	a,r3
	addc	a,r5
	mov	r5,a
;	../../Common/modules/cUDP.c:495: if(length !=payload_length)
	mov	a,_bp
	add	a,#0x04
	mov	r0,a
	mov	ar2,@r0
	mov	r3,#0x00
	mov	a,r7
	cjne	a,ar2,00117$
	mov	a,r5
	cjne	a,ar3,00117$
	sjmp	00107$
00117$:
;	../../Common/modules/cUDP.c:497: return pdFALSE;
	mov	dpl,#0x00
;	../../Common/modules/cUDP.c:507: default:
	sjmp	00108$
00106$:
;	../../Common/modules/cUDP.c:508: return pdFALSE;
	mov	dpl,#0x00
;	../../Common/modules/cUDP.c:511: }
	sjmp	00108$
00107$:
;	../../Common/modules/cUDP.c:512: return pdTRUE; 
	mov	dpl,#0x01
00108$:
	mov	sp,_bp
	pop	_bp
	ret
	.area CSEG    (CODE)
	.area CONST   (CODE)
	.area XINIT   (CODE)
__xinit__use_compress:
	.db #0x00
	.area CABS    (ABS,CODE)
